/ / Operatory bitów logicznych (C) [zamknięte] - c

Operatory bitów logicznych (C) [zamknięte] - c

Operatory bitów logicznych do czego służą? Słyszałem, że mogę sprawdzić, czy liczba jest nieparzysta, czy nie, czytając ostatni bit. Nie mam pomysłu, potrzebuję praktycznego przykładu, dzięki w adavance

Odpowiedzi:

2 dla odpowiedzi № 1

Jeśli liczba jest nieparzysta, jej ostatnią cyfrą (binarnie) jest 1. Na przykład:

5 ~  00000101
31 ~ 00011111
but 8 ~ 00001000

Więc jeśli ty I to (po kawałku) z 1, to znaczy

1 ~ 00000...01

Otrzymasz 1 jako wynik, jeśli liczba jest nieparzysta (tj. Jej ostatnia cyfra to 1).

5 ~ 00000101
1 ~ 00000001
-------------
00000001 => odd

Innym zastosowaniem byłoby przechowywanie wielu flag w jednej zmiennej, kryptografii itp. Jest ich naprawdę wiele.


0 dla odpowiedzi nr 2

Zwykle liczby, które mają swój LSB bit jak 1 są dziwne. Możesz więc po prostu sprawdzić przy użyciu operatora bitowego AND, czy ostatni bit LSB jest ustawiony, czy nie, jeśli jest to numer nieparzysty.

if((num & 1) == 1); // Its an odd number

Nie można jednak mieszać operatorów logicznych z operatorami bitowymi. Różnią się jako,

  1. Mamy operatory logiczne do wykonywania logiki boolowskiej (na wartościach logicznych).
  2. Mamy operatory bitowe do wykonywania logiki bitowej (na wartościach całkowitych).

0 dla odpowiedzi № 3

Jedna z najpopularniejszych aplikacji binarnychoperacje są polami bitowymi. Jeśli potrzebujesz na przykład poznać stan, który ma 2 możliwe wartości, zamiast używać tablicy znaków lub booli, które wymagają 1 bajtu dla każdego stanu, możesz użyć tej samej tablicy, ale możesz użyć każdego bitu do zachowania stan obiektu, a więc 8 razy mniej pamięci. Możesz również użyć operacji binarnych do oznaczania na przykład niektórych błędów. W tym przypadku bardzo łatwo jest je przekazać lub, używając niektórych operatorów, znaleźć błędy, które wystąpiły w wielu miejscach (binarne i) lub sprowadzić błędy z wielu źródeł (binarne lub). może znaleźć błędy, które wystąpiły w jednym miejscu, ale nie w drugim. Uwaga: możesz zastąpić „błędy” wieloma innymi rzeczami.