Operacje na bitach

Wątek przeniesiony 2014-06-15 01:14 z Java przez ŁF.

Awgwa
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 21
0

Cześć, właśnie przeczytałem rozdział dotyczący operacji na bitach i nie rozumiem po co mamy się tego uczyć. Czy to ma jakieś zastosowanie w programowaniu? Mówię o przesuwaniu bitów, operacjach logicznych itd.

Lucas Darkstorm
  • Rejestracja: dni
  • Ostatnio: dni
1

Z tego, co do tej pory zauważyłem, to taka wiedza przydaje się przy tworzeniu bardziej zoptymalizowanych wersji algorytmów.

Przykładowo pod tym linkiem można znaleźć algorytm Euklidesa, który korzysta z przesunięć bitowych: http://edu.i-lo.tarnow.pl/inf/alg/001_search/0006.php.

Takim też najprostszym przykładem jest sprawdzanie, czy liczba jest parzysta. Zamiast pisać:

Kopiuj
if (x % 2 == 0)

można sprawdzić w ten sposób:

Kopiuj
if ( (x & 1) == 0)

gdyż zwykłe dzielenie jest sporo wolniejsze niż operacje bitowe.

Sopelek
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Kraków
  • Postów: 467
0

operacjach logicznych

To jest przecież wszędzie.

Takie co mi pierwsze na myśl przychodzi.
maski bitowe, xorswap, flagi, usprawnienia algorytmów/algebry ( @_13th_Dragon lubi się tym bawić, raz potrzebnie raz nie; współcześnie trochę mniej konieczne ze względu na optymalizacje stosowanie prze kompilatory), czy też niskopoziomowe zabawy

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.