Дроби

Дробную часть будем отделять точкой. Если мы двигаемся вправо от разделителя дробной части (точки), вклад разрядов уменьшается: каждый шаг вправо делит на \(p\).

Для конечной дроби

\[ {a_k\dots a_0.a_{-1}a_{-2}\dots a_{-m}}_p = \sum_{i=0}^{k} a_i p^i + \sum_{j=1}^{m} a_{-j} p^{-j} \]

Задача: разверните \(\mathtt{243.14}_5\).


Решение:

\[ \mathtt{243.14}_5 = 2\cdot 5^2 + 4\cdot 5 + 3 + 1\cdot 5^{-1} + 4\cdot 5^{-2} = 73.36_{10} \]

Перевод дроби в десятичную

Алгоритм перевода конечной P-ичной дроби в десятичную.

Для цифр после разделителя дробной части (точки) используйте степени \(P^{-1}, P^{-2}, \dots\).

Задача: \(\mathtt{101.011}_2 \to \mathtt{?}_{10}\).


Решение:

\[ \mathtt{101.011}_2 = 1\cdot 2^2 + 0\cdot 2 + 1 + 0\cdot 2^{-1} + 1\cdot 2^{-2} + 1\cdot 2^{-3} = 5.375 \]

Перевод дроби из десятичной

Перевод конечной десятичной дроби в P-ичную.

Для дробной части используем умножение на основание: каждый раз умножаем дробь на \(P\) и выписываем целую часть.

  1. Целую часть перевести делением с остатком.
  2. Дробную часть умножать на \(P\).
  3. Целые части произведений выписывать по порядку.
  4. Остановиться, когда дробная часть станет \(0\).

Задача: \(\mathtt{13.625}_{10} \to \mathtt{?}_2\).


Решение:

Целая часть: \(\mathtt{13}_{10} = \mathtt{1101}_2\).

Дробная часть:

\[ 0.625\cdot 2 = 1.25\ \Rightarrow\ 1 \]
\[ 0.25\cdot 2 = 0.5\ \Rightarrow\ 0 \]
\[ 0.5\cdot 2 = 1.0\ \Rightarrow\ 1 \]

Ответ: \(\mathtt{1101.101}_2\).

Если дробная часть не становится нулем, запись получается бесконечной. Например, \(0.1_{10}\) в двоичной системе превращается в бесконечную периодическую дробь — как \(1/3\) в десятичной.

Навыки

  • Классифицировать системы счисления.
  • Выполнять сравнение чисел, записанных в двоичной, восьмеричной и шестнадцатеричной системах счисления.
  • Осуществлять перевод чисел между двоичной, восьмеричной и шестнадцатеричной системами счисления.
  • Выполнять сложение и вычитание чисел, записанных в двоичной, восьмеричной и шестнадцатеричной системах счисления.
Задачи для тренировки

1. Классифицируйте системы счисления как позиционные или непозиционные:

a) двоичная

b) римская

c) шестнадцатеричная

d) десятичная

Ответ

a) позиционная, b) непозиционная, c) позиционная, d) позиционная.


2. Разверните запись:

a) \(\mathtt{2304}_5\)

b) \(\mathtt{12.3}_4\)

Ответ

a) \(2\cdot 5^3 + 3\cdot 5^2 + 0\cdot 5 + 4\).

b) \(1\cdot 4 + 2 + 3\cdot 4^{-1}\).


3. Используя свойства позиционной записи, ответьте:

a) сколько цифр у \(\mathtt{100000}_2\)

b) делится ли \(\mathtt{7340}_8\) на \(8\)

Ответ

a) 6 цифр.

b) Да, последняя цифра \(\mathtt{0}\).


4. Переведите \(\mathtt{431}_5\) в десятичную систему.

Ответ

\(4\cdot 5^2 + 3\cdot 5 + 1 = 116\).


5. Переведите \(\mathtt{10.11}_2\) в десятичную систему.

Ответ

\(2 + 0.5 + 0.25 = 2.75\).


6. Переведите \(\mathtt{72}_{10}\) в основание \(3\).

Ответ

\(\mathtt{2200}_3\).


7. Переведите \(\mathtt{5.25}_{10}\) в двоичную систему.

Ответ

\(\mathtt{101.01}_2\).


8. Переведите \(\mathtt{11010110}_2\) в восьмеричную и шестнадцатеричную системы.

Ответ

\(\mathtt{326}_8\) и \(\mathtt{D6}_{16}\).


9. Сравните \(\mathtt{7A}_{16}\) и \(\mathtt{364}_8\).

Ответ

\(\mathtt{364}_8 > \mathtt{7A}_{16}\).


10. Выполните:

a) \(\mathtt{A5B}_{16} + \mathtt{C7E}_{16}\)

b) \(\mathtt{10010}_2 - \mathtt{111}_2\)

Ответ

a) \(\mathtt{16D9}_{16}\).

b) \(\mathtt{1011}_2\).