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

Operacje na bitach

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.

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ć:

if (x % 2 == 0)

można sprawdzić w ten sposób:

if ( (x & 1) == 0)

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

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

1 użytkowników online, w tym zalogowanych: 0, gości: 1