Interesuje mnie napisanie funkcji getMyByteChunkFunction
, która akceptuje dwa parametry - 32-bitową liczbę całkowitą i przesunięcie bajtowe (0, 1, 2 lub 3), a następnie zwraca odpowiedni bajt na zewnątrz 32-bitowej liczby całkowitej. Na przykład, biorąc pod uwagę to całkowita:Bitowy operator, aby uzyskać bajt z 32 bitów
(3) (2) (1) (0) ---byte numbers
int word = 10101010 00001001 11001010 00000101
wywołanie funkcji getMeByteChunkFunction(word, 2)
powraca 00001001
.
Jednak jestem ograniczony w operatory bitowe mogę używać. Mogę używać tylko >>
, <<
i dokładnie odejmowania. Wiem, jak to zrobić za pomocą AND i XOR, ale nie wiem, jak bym użył odejmowania tutaj. Jakieś pomysły?
oznaczone jako praca domowa (musiał upuścić "logikę", bo max 5 tagów). –
@JBentley: Zrobiłem ten komentarz dwa lata temu. –