Wpis z mikrobloga

Mirki, siedze juz z dobra godzine i nie moge wykminic. Potrzebuje skonwertowac 8 bitowy strumien danych do 6 bitowych bajtow.

Przykladowo:

t - 0x74

e - 0x65

s - 0x73

t - 0x74

Potrzebuje to tak posklejac, zeby ten strumien danych byl zapisany w 6 bitowych bajtach. Czyli dla powyzszego przykladu to by bylo

b5 || b4 || b3 || b2 || b1 || b0

01 || 110100 || 011100 || 11-0110 || 0101-01 || 110100

0x01 0x34 0x1c 0x36 0x51 0x34

#jezykc, #cpp, #programowanie
  • 6
@dagon_666: Najmniejsza wspólna wieloktrotność 6 i 8 to 24, czyli musisz brać po trzy 8-bajtowe liczby i tworzysz z nich cztery 6-bajtowe liczby.

out[0] = in[0] & 0xFC // 11111100

out[1] = in[0] & 0x03 | in[1] & 0xF0 // 00000011 11110000

out[2] = in[1] & 0x0F | in[2] & 0xC0 // 00001111 11000000

out[3] = in[2] & 0x3F // 00111111