Operacje na bitach w Java - ćwiczenia

0

Cześć!
Uczę się Javy z książki pt. "Praktyczny kurs Java"

i mam kilka ćwiczeń które opierają się na bitach których kompletnie chyba pojąć nie umiem(2 zadania zrobiłem lecz nie wiem czy dobrze więc liczę,że powiecie mi czy dobrze czy jednak nie.)

zadeklaruj zmienna typu int o dowolnej nazwie .Przypisz jej wartość 256. Wykonaj trzy działania: przesuniecie bitowe w prawo o dwa miejsca , przesuniecie bitowe w lewo o dwa miejsca oraz przesuniecie bitowe w prawo,o dwa miejsca, z wypełnieniem zerami.Wynik wszystkich trzech działań wyświetl na ekranie.

Zadeklaruj dwie zmienne typu int.Przypisz im dowolne wartości oraz wykonaj na nich działania sumy bitowej oraz iloczynu bitowego.Wyświetl wyniki działań na ekranie.

Zadeklaruj zmienną typu int o dowolnej nazwie i przypisz jej dowolną wartość całkowitą.Dwukrotnie wykonaj na niej operację XOR,wykorzystując jako drugi argument również dowolną liczbę całkowitą.Wykorzystaj operator przypisania ^=.Zaobserwuj otrzymany wynik i zastanów się czemu ma on taką właśnie postać.

Jakby co ja nie oczekuję od Was całkowitego rozwiązania zadania 3 tylko nakierowanie mnie jakoś jak to zrobić.

Oraz możecie podać jakąś stronę gdzie wszystko jest jasno i czytelnie napisane o tych wszystkich operacjach na bitach itp bo niestety w tej książce bardzo mało tego było a ja nie do końca jak już pisałem to rozumiem

0

A ja nie rozumiem twojego pytania. Przecież masz napisane dokładnie co masz zrobić. Masz wziąć dowolną liczbę i wykonać na niej dwukrotnie xor z jakąś inną liczbą i wypisać wynik.

int x = 10;
int y = 20;
x = x^y;
x = x^y;

i tyle. Pokaże ci to że xor jest odwracalny przez samego siebie ;] Tzn (x^y)^y = x

0
int x = 10;
int y = 20;
x = x^y;
x = x^y;
System.out.println(x^=y);

i tyle?

0

No nie, teraz masz o jednego xora za dużo :P

0

No ale musze miec System.out.println bo inaczej nic mi sie nie wyswietli

Czyli co tak?

int x = 10;
int y = 20;
x = x^y;
System.out.println(x^=y);

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