unsigned char *adata = (unsigned char*)malloc(500*sizeof(unsigned char));
unsigned char *single_char = adata+100;
Jak zmienić pierwsze cztery bity w pojedynczym_char, aby przedstawić wartości między 1..10 (int)?Jak zmienić 4 bity w unsigned char?
Pytanie pochodzi od struktury nagłówka TCP:
Data Offset: 4 bits
The number of 32 bit words in the TCP Header. This indicates where
the data begins. The TCP header (even one including options) is an
integral number of 32 bits long.
Zwykle ma ona wartość 4..5 wartość char jest jak 0xa0.
w konkretnym przypadku nagłówka TCP, niższe 4 bity tego oktetu są zarezerwowane i musi być zero. – caf
Ah w porządku, twoje rozwiązanie jest lepsze :) – GWW
@ GWW, na końcu to było twoje rozwiązanie, które działało dla mnie. Ale czasami ustawia dziwne wartości .. (na przykład, pojedynczy_char staje się hexem 0x86 zamiast 0x80). –