$KompendiumInf;

Działania na Liczbach

Dodawanie, odejmowanie i mnożenie liczb w niedziesiętnych systemach liczbowych

Działania na liczbach w innych systemach można wykonywać na tej samej zasadzie jak działania pisemne w systemie dzisiętnym, jednak z wzięciem pod uwagę zmienionej bazy. Poniżej opisane jest co należy zmienić, aby działania zostały wykonane poprawnie.

Dodawanie

Bierzemy liczby, które chcemy do siebie dodać, np. 111021110_2 i 010020100_2.

Układamy je jak do dodawania pisemnego, i zaczynamy dodawanie od pierwszej kolumny w prawo.

1110+0100 \begin{matrix} & 1 & 1 & 1 & 0 \\ + & 0 & 1 & 0 & 0 \\ \hline ~ \end{matrix}

Jeśli wynik dodawania w kolumnie jest mniejszy od bazy systemu, to bez przenoszenia wpisujemy go pod kreską. To dzieje się w pierwszych dwóch kolumnach.

1110+010010\begin{matrix} & 1 & 1 & 1 & 0 \\ + & 0 & 1 & 0 & 0 \\ \hline & & & 1 & 0 \end{matrix}

Jeśli wynik dodawania jest większy lub równy bazie systemu, to odejmujemy od tego wyniku bazę, do następnej kolumny przenosimy 11, a pod kreskę wpisujemy wynik odejmowania.

11110+0100010\begin{matrix} & \it\scriptsize{1} \\ & 1 & 1 & 1 & 0 \\ + & 0 & 1 & 0 & 0 \\ \hline & & 0 & 1 & 0 \end{matrix}

Tak samo jak w dodawaniu pisemnym w systemie dziesiętnym, jeśli wynik w ostatniej kolumnie przekracza bazę systemu, to dodajemy kolumnę na początku.

111110+010010010\begin{matrix} & \it\scriptsize{1} & \it\scriptsize{1} \\ & & 1 & 1 & 1 & 0 \\ + & & 0 & 1 & 0 & 0 \\ \hline & 1 & 0 & 0 & 1 & 0 \end{matrix}

Wynikiem działania 11102+010021110_2 + 0100_2 jest zatem 100102~\utilde{10010_2}.

Odejmowanie

Bierzemy liczby, które chcemy od siebie odjąć, np. 101021010_2 i 011020110_2.

Wstawiamy je jak do odejmowania pisemnego, i zaczynamy od ostatniej kolumny.

10100110 \begin{matrix} & 1 & 0 & 1 & 0 \\ - & 0 & 1 & 1 & 0 \\ \hline ~ \end{matrix}

Pierwsze dwie kolumny odejmujemy normalnie.

1010011000 \begin{matrix} & 1 & 0 & 1 & 0 \\ - & 0 & 1 & 1 & 0 \\ \hline & & & 0 & 0 \end{matrix}

Przy "pożyczaniu" liczb z kolumny na lewo do liczby w obecnej kolumnie dodajemy bazę systemu, tak jak dodalibyśmy 1010 w systemie dziesiętnym.

02 10100110100\begin{matrix} & \it\scriptsize 0 & \it\scriptsize 2 ~ \\ & \cancel 1 & \cancel 0 & 1 & 0 \\ - & 0 & 1 & 1 & 0 \\ \hline & & 1 & 0 & 0 \end{matrix}

Kontynuujemy w ostatniej kolumnie.

02 101001100100\begin{matrix} & \it\scriptsize 0 & \it\scriptsize 2 ~ \\ & \cancel 1 & \cancel 0 & 1 & 0 \\ - & 0 & 1 & 1 & 0 \\ \hline & 0 & 1 & 0 & 0 \end{matrix}

Wynikiem odejmowania 10102011021010_2 - 0110_2 jest 1002~\utilde{100_2}.

Mnożenie

Bierzemy dwie liczby, które chcemy ze sobą pomnożyć, np 12B16\text{12B}_{16} i 321632_{16}.

Podstawiamy je jak do mnożenia pisemnego i zaczynamy mnożenie pisemne.

Osobiście lubię zamieniać litery w systemach, które je mają na liczby w nawiasach, np. 11⟮11⟯, łatwiej jest mi wtedy wykonywać na nich obliczenia.

121132 \begin{matrix} & 1 & 2 & ⟮11⟯ \\ * & & 3 & 2 \\ \hline ~ \end{matrix}

Wynik pierwszego mnożenia 211=222*11 = 22 jest większy od bazy systemu 1616, więc dzielimy go przez tą bazę. Część całkowitą przenosimy do następnej kolumny, a resztę wpisujemy pod kreskę.

11211326\begin{matrix} & & \scriptsize\it{1} & \\ & 1 & 2 & ⟮11⟯ \\ * & & 3 & 2 \\ \hline & & & 6 \end{matrix}

Kontynuujemy z następnym mnożeniem 22=42*2=4, i tak samo jak w normalnym mnożeniu pisemnym dodajemy do tego wyniku przeniesienie 4+1=54+1=5. Ten wynik nie jest większy od bazy systemu więc przenosimy go pod kreskę.

112113256\begin{matrix} & & \scriptsize\it{1} & \\ & 1 & 2 & ⟮11⟯ \\ * & & 3 & 2 \\ \hline & & 5 & 6 \end{matrix}

Ostatnie mnożenie przez dwa zachodzi normalnie i daje wynik 11.

1121132256\begin{matrix} & & \scriptsize\it{1} & \\ & 1 & 2 & ⟮11⟯ \\ * & & 3 & 2 \\ \hline & 2 & 5 & 6 \end{matrix}

W podobny sposób wykonujemy mnożenie przez 33, pamiętając o przesunięciu drugiego wyniku o kolumnę.

21121132256381\begin{matrix} & & \scriptsize\it{2} & \\ & & \scriptsize\it\xcancel{1} & \\ & 1 & 2 & ⟮11⟯ \\ * & & 3 & 2 \\ \hline & 2 & 5 & 6 \\ 3 & 8 & 1 \end{matrix}

Dodajemy ze sobą dwie powstałe liczby. (Instrukcję dodawania można znaleźć powyżej)

21121132256+38131066\begin{matrix} & & & \scriptsize\it{2} & \\ & & & \scriptsize\it\xcancel{1} & \\ & & 1 & 2 & ⟮11⟯ \\ & * & & 3 & 2 \\ \hline & & 2 & 5 & 6 \\ + & 3 & 8 & 1 & \\ \hline & 3 & ⟮10⟯ & 6 & 6 \end{matrix}

Wynikiem mnożenia jest liczba pod kreską, 3A6616~\utilde{\text{3A66}_{16}}.


Ostatnia zmiana: Ładuję...

On this page