Wróć do: Teoria
średni systemy liczbowebinarnymnożeniematura rozszerzona z informatyki

Mnożenie i dzielenie binarne

Mnożenie w słupku w systemie dwójkowym i skrót przez przesunięcie bitów – dlaczego mnożenie przez 2 to dopisanie zera.

01

Opis

Mnożenie binarne jest prostsze niż dziesiętne, bo tabliczka mnożenia ma tylko cztery wpisy i trzy z nich dają zero. Mnożąc przez 0, dostajemy 0; mnożąc przez 1, przepisujemy liczbę bez zmian.

Dlatego mnożenie w słupku sprowadza się do przepisywania i przesuwania. Dla każdej jedynki w mnożniku przepisujemy pierwszą liczbę, przesuniętą o tyle pozycji w lewo, na której ta jedynka stoi. Na koniec wszystko dodajemy binarnie.

Jest też skrót, który warto znać na pamięć: mnożenie przez 2 to dopisanie zera z prawej strony, a dzielenie przez 2 to skreślenie ostatniego bitu. To dokładnie ta sama zasada, co dopisywanie zera przy mnożeniu przez 10 w systemie dziesiętnym.

02

Jak to działa

Mnożymy 101 razy 11, czyli 5 razy 3:

  • mnożnik ma jedynkę na pozycji 1: przepisujemy 101
  • mnożnik ma jedynkę na pozycji 2: przepisujemy 101 przesunięte o jeden, czyli 1010
  • dodajemy: 101 plus 1010 daje 1111

Wynik 1111 to 8 + 4 + 2 + 1 = 15. Zgadza się.

Dzielenie działa jak dzielenie pisemne: sprawdzamy, czy dzielnik mieści się w kolejnych fragmentach dzielnej, i zapisujemy 1 albo 0. Reszta zostaje na końcu.

Na maturze

Częściej niż samo mnożenie pytane jest przesunięcie bitowe, bo pojawia się w zadaniach programistycznych. Trzeba wiedzieć, że przesunięcie w lewo o n pozycji to mnożenie przez 2 do potęgi n, a w prawo – dzielenie całkowite.

Uwaga: przesunięcie w prawo gubi resztę. Liczba 7 przesunięta o jeden w prawo daje 3, nie 3,5 – to dzielenie całkowite.

04

Zapamiętaj

  • Tabliczka mnożenia binarnego to tylko: 0 razy cokolwiek daje 0, a 1 razy 1 daje 1.
  • Mnożenie w słupku = przepisz i przesuń dla każdej jedynki, potem dodaj.
  • Przesunięcie w lewo o 1 to mnożenie przez 2, w prawo o 1 to dzielenie przez 2.
  • Przesunięcie w prawo obcina resztę – wynik jest zawsze całkowity.
05

Najczęściej zadawane pytania

Dlaczego mnożenie przez 2 to dopisanie zera?

Bo każdy bit przesuwa się o jedną pozycję w lewo, a każda pozycja w lewo ma dwa razy większą wagę. To ta sama logika, co dopisanie zera przy mnożeniu przez 10 w systemie dziesiętnym.

Jak pomnożyć przez 8 bez liczenia?

Dopisz trzy zera, bo 8 to 2 do potęgi 3. Analogicznie mnożenie przez 16 to cztery zera. Ten skrót działa tylko dla potęg dwójki.

Czy procesor naprawdę tak mnoży?

Zasada jest ta sama, choć układy scalone robią to równolegle, a nie krok po kroku. Przesunięcia bitowe są jednak wyraźnie szybsze od pełnego mnożenia i kompilatory świadomie je podstawiają.

Powiązane zagadnienia