Nie należy używać operacji bitowych ( &, |, ~, ^, << i >> ) na liczbach ze znakiem.
// Nie rób tego ... int8_t signed_data = -4; signed_data >>= 1; // niekoniecznie -2
Standard C nie definiuje formatu danych liczb ze znakiem (na przykład U2 - uzupełnień do dwóch) i efekt niektórych operacji bitowych zależy od zastosowanej przez autora kompilatora implementacji zapisu takich liczb.