Anonymní profil peter – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil peter – Programujte.comAnonymní profil peter – Programujte.com

 

Příspěvky odeslané z IP adresy 2001:718:2601:26c:9c9d:b9...–

peter
C / C++ › Bitové operátory
27. 5. 2016   #210968

Pravda, v pc bitove operace tam pracuji se vsemi 8 (16 atd) najednou, paralelne. Coz je taky vyhoda, proti porovnani > a <. Rychlostne to bude tedy trochu jinak, ale celkove stale rychlejsi se xor.
Jinak, u xor bacha, je to operace, ktera zahriva procesor. Aspon ty stare.

peter
C / C++ › Bitové operátory
27. 5. 2016   #210966

Jo, dalsi pouziti treba v dekoderu obrazku, videa a hudby. Tam se koduji data do huffmanovych kodu. Coz je bitovy zapis jinak 8 bitoveho cisla podle cetnosti jeho vyskytu.
Priklad, mas knizku, 100.000 znaku. Spocitas cetnost znaku. A podle toho priradis huffmanuv kod. Bezne mas na znak 8 bitu. Ale kod ti nastavi pro nejcetnejsi znaky 2-3 bity a pro ty, ktere tam skoro nejsou treba 16. takze pak 100.000 znaku zakodujes treba na 30.000. Presne tohle ma v sobe i jpeg. Predtim se provedou ale jeste dalsi operace.

peter
C / C++ › Bitové operátory
27. 5. 2016   #210965

"som na kapitole Bitové operátory"
link?
stranka z google?
A co ti na strance neni jasne? Knizka doma, kterou nevidime, nemuzeme komentovat.

Obecne se bitove operatory pouzivaji casto a kvuli rychlosti.
Napriklad na linuxu prava k souboru jsou dana treba jako 777, kde to bitove je rwx rwx rwx. Je rychlejsi ifem porovnat 1 bit nez 8 bitu (1 byte). Skoro 8x rychlejsi :)
U 64 bitovych instrukci se prenasi 64 bitu, to uz je 64x rychlejsi.
Podobne jsou resene ruzne dalsi priznaky.

Take mas v programu podminky? x>50 && x<100. V dalsim kroku cyklu se treba x nemeni, tak program uz si pamatuje predchozi vysledky. Je rychlejsi porovnat boolean true/false, ze hodnota je stejna jako predchozi, 1 bit neb porovnavat 8 bitu x s 8 bitu cisla 50 a 8 bitu x a 8 bitu cisla 100 znovu.

Potrebujes porovnat, zda jsou 3 cisla rovny nule?
x==0 && y==0 && z==0, parada, casove (8+8)+(8+8)+(8+8) bitovych operaci, 6x8
a co treba bitove to secist x | y | z == 0, (8 | 8 | 8 == 8), 4x8

Web RTC / Web-socket prenos XORovani zpravy .Coz se dela kvuli tomu, aby se neopakovala treba 100x bitova 0 a tim by mohlo zarizeni ztratit synchronizaci. Cili schopnost rozpoznat pocet prijatych bitu, bylo jich 100 nebo 101 nebo 99? Technika neni dokonala, nedokaze presne na tisiciny sekund rozlisovat.

 

 

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