Binární operace – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Binární operace – C / C++ – Fórum – Programujte.comBinární operace – C / C++ – Fórum – Programujte.com

 

Holden
~ Anonymní uživatel
3 příspěvky
28. 5. 2013   #1
-
0
-

Ahoj, prosím pomohli by jste mi s tímto příkladem?

int main (int argv, char **argc)
{
	unsigned char c, i;
	c = 0;
	for (i = 10; i > 0; i--)
	{ 
		if ((i&3)==0)
		{
			c++;
		}
	}
	printf("%i  %i", c, i);
}

Proč se při výpisu zobrazí, že c je 2? Já to chápu tak, že pokud je třetí bit u prom. i roven 0, tak se c inkementuje. V tom případě by ale c mělo být 6.

Nahlásit jako SPAM
IP: 147.228.209.–
vitamin+8
Grafoman
28. 5. 2013   #2
-
0
-

#1 Holden

1010 & 11 = 10 == true
1001 & 11 = 01 == true
1000 & 11 = 00 == false   //1. inkrementacia 
0111 & 11 = 11 == true
0110 & 11 = 10 == true
0101 & 11 = 01 == true
0100 & 11 = 00 == false	  //2. inkrementacia
0011 & 11 = 11 == true
0010 & 11 = 10 == true
0001 & 11 = 01 == true
Nahlásit jako SPAM
IP: 95.105.152.–
obfuscate: "The cruel god Malloc will strike you down. "
ZMeson: "That's the C god. C++ has a new god. "
Holden
~ Anonymní uživatel
3 příspěvky
28. 5. 2013   #3
-
0
-

#2 vitamin
Jooo takhle to funguje :-) Děkuju

Nahlásit jako SPAM
IP: 147.228.209.–
KIIV
~ Moderátor
+43
God of flame
29. 5. 2013   #4
-
0
-

jen tak mimochodem, neni to 3. bit ale bity s hodnotama 2+1 ...  treti bit by byl s hodnotou 4 (tj. (1<<2)  a 2 je spravne.. pozice bitu se pocitaji od 0 (ta je pred desetinnou carkou) - ostatne jako v kazdy pozicni ciselny soustave)

Nahlásit jako SPAM
IP: 62.168.56.–
Program vždy dělá to co naprogramujete, ne to co chcete...
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, 40 hostů

Podobná vlákna

Operace s bity — založil Pavel Prokop

Pocetni operace v C — založil Vojta

Bitove operace — založil Keny

Operace množin — založil kareln

C+ - Operace s pamětí — založil Matherz

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ý