Skocz do zawartości
madzienka

Operatory Arytmetyczne /c++

Rekomendowane odpowiedzi

Hej. prosze o pomoc. Mam napisac program w c++, ktory pobiera z lini polecen dwie liczby calkowite a i b, a nastepnie wykorzystujac operator:

-iloczynu logicznego sprawdza czy podane liczby sa liczbami parzystymi

-przesuniecia bitowego w prawo sprawdza ktora z liczb jest wieksza

-XOR,sprawdza czy liczby sa sobie rowne

-dzielenia modulo, sprawdza czy ktoras z liczb jest podzielnikiem drugiej.

Dwa ostatnie umiem. Najbardziej chodzi mi o te dwa pierwsze, a w szczegolnosci o przesuniecie bitowe. Prosze pomozcie .

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

podpowiem tylko że liczba jest parzysta... jeśli na bicie LSB ma 0... czyli iloczyn liczby a z 00001 sprawi.. ze wsstkie bity w a zostaną wyzerowane, a przepisany zostanie tlyko ten gdzie w masce 00001 jest 1... Jesli zatem licxzba a jest nieparzysta... np 5=0101 & 0001 =>0001 =1 , a dla liczby parzystej np 6=0110 & 0001 => 0000 =0.

 

Więc iloczyn liczby a z maską daje 0 jeśi liczba a jest parzysta, 1 gdy nieparzysta.

 

przesuniecie bitowe.. jakoś nie nasuwa mi się od razu wyjaśnienie.. zależy od tego jakie inne operacje można wykonać :)

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie


×
×
  • Dodaj nową pozycję...