Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno C++ zápis/načítání jednotlivých bitů

No inac to nejde, das 4 riadky za sebou
*pole++ = dword>>24;
*pole++ = dword>>16 & 0xFF;
*pole++ = dword>>8 & 0xFF;
*pole++ = dword 0xFF;
32bit moze byt optimalnejsi v tych bitovych operaciach. Ale v tomto pripade asi zmena na 32bit neprinesie moc.

Mozes to skusit najprv prerobit uplne inac (novy navrh) - namiesto pozicie bitu si budes drzat priamo masku a bajt
T.j.
maska = 0x80;
bajt = 0;
for (jednicky) {
bajt|=maska;
maska>>=1;
if(maska == 0) {
ZapisBajt(bajt);
maska = 0x80;
bajt =0;
}
Zapis nuly bude potom to same ale bez toho bajt|=maska; ptz bajt mam znulovany. Tento mechanizmus sa da dat aj do fcie zapisbit. Ja by som to asi robil 32bitove t.j. maska = 0x80000000 a potom zapisbajt bude 4x. Ale moc optimalne to neni, predpocitane tabulky a praca s bajtom budu asi najoptimalnejsie.

Reakce na odpověď

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny