Bitový zápis, posun – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Bitový zápis, posun – C / C++ – Fórum – Programujte.comBitový zápis, posun – C / C++ – Fórum – Programujte.com

 

Toto vlákno bylo označeno za vyřešené — příspěvek s řešením.
crazy
~ Moderátor
+10
Grafoman
10. 3. 2012   #1
-
0
-

Zdravím,

mám následující problém:

mám číslo typu unsigned long long int např. 00111011001011 (samozřejmě nějaké nuly vepředu) a já bych co nejjednodušeji potřeboval to číslo rozdělit do bajtů, tak abych například v prvním měl 11101100   a druhém ten zbytek 10110000.

Za každou radu díky

Nahlásit jako SPAM
IP: 89.190.90.–
All you need is vision and time.
Řešení
vitamin+8
Grafoman
10. 3. 2012   #2
-
0
-
Vyřešeno Nejlepší odpověď

   

    union{
		unsigned long long x;
		unsigned char y[sizeof(unsigned long long)]; 
	};

Pouzi union

Nahlásit jako SPAM
IP: 178.143.60.–
obfuscate: "The cruel god Malloc will strike you down. "
ZMeson: "That's the C god. C++ has a new god. "
PieMakerDvd0
Newbie
10. 3. 2012   #3
-
0
-

Pomocí masek:

spodní byte získáš logickým součinem čísla a masky 0x00FF,

horní byte získáš logickým součinem čísla a masky 0xFF00 a posunem o 8-bitů doprava

Nahlásit jako SPAM
IP: 188.246.111.–
KIIV
~ Moderátor
+43
God of flame
10. 3. 2012   #4
-
0
-

s tim unionem akorat pamatovat ze kompy sou obvykle little endian... tj na pozici unionu .y[0] bude bajt s nejnizssi vahou...

Nahlásit jako SPAM
IP: 93.91.152.–
Program vždy dělá to co naprogramujete, ne to co chcete...
crazy
~ Moderátor
+10
Grafoman
10. 3. 2012   #5
-
0
-

díky všem, použil jsem union

Nahlásit jako SPAM
IP: 89.190.90.–
All you need is vision and time.
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 103 hostů

Podobná vlákna

Bitový doplněk — založil Carduus

Bitový string na int — založil Eva

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý