Перевод из десятичной системы счисления в двоичную
Правила перевода чисел из десятичной системы в двоичную вытекают из формулы представления числа. Рассмотрим сначала целое десятичное число N, представленное в виде пока неизвестных нам двоичных цифр:
.
Как найти неизвестные цифры ? Попробуем разделить десятичное число N на 2. Очевидно, что получится какое-то частное, равное целой части от деления N пополам, и остаток. Последний будет равным 0, если исходное число N было четным, и 1 – если нечетным. А теперь посмотрим, что произойдет при делении на 2 эквивалентного выражения:
.
Очевидно, что первых слагаемых делятся на 2 без остатка, т.к. в их состав входят сомножители из степеней двойки. Единственное слагаемое, которое может дать ненулевой остаток, это – цифра , не превосходящая единицы. Но ведь мы делили на 2 одно и то же, поэтому остаток от деления N пополам должен совпасть с цифрой . Итак, младшую цифру в двоичном разложении числа N мы установили.
Теперь внимательно приглядимся к частному от нашего первого деления. Обозначим его через :
.
Что произойдет при следующем делении на 2? Очевидно, получится новое частое , а очередной остаток должен совпасть со следующей двоичной цифрой . И так продолжают до тех пор, пока частное после очередного деления на 2 не превратится в нуль. Процесс этот обязательно завершится через конечное число шагов. К этому моменту мы будем знать уже все цифры двоичного разложения исходного числа N.
Пример: N = 96
остаток | |
остаток | |
остаток | |
остаток | |
остаток | |
остаток | |
остаток |
Пишем двоичные цифры, начиная с последней:
9610=11000002
Что изменится, если потребуется преобразовать число дробное десятичное число m в двоичную систему? Вспомним формулу разложения:
Попытка разделить левую и правую части на 2 ни к чему хорошему не приводит. А вот если попробовать умножать на 2, получится то, что надо:
Оказалось, что в целую часть произведения «перебралась» старшая цифра . Отбросим найденную цифру в левой и правой частях равенства:
После очередного умножения на 2 в разряд целых перекочует двоичная цифра и т. д.
Пример: . Выполним действия:
И поскольку очередная дробная часть оказалась равной нулю, то последующие умножения ничего нового не принесут. В данном случае пишем двоичные цифры, начиная с первой. В результате:
На практике удобнее запись процесса перевода дробных чисел вести следующим образом:
Возникает вопрос: а всегда ли такой процесс завершится через конечное число шагов? С целыми числами такой проблемы не существовало. Любое целое число после многократного деления пополам, в конце концов, превратится в нуль. С дробями дело обстоит несколько иначе:
Пример:
Обратите внимание, что этот процесс будет продолжаться бесконечно долго, но периодичность повторяющихся цифр уже установлена:
Этот пример показывает, что не любая конечная десятичная дробь преобразуется в конечную же двоичную. Поэтому некоторые числа в машине могут быть представлены неточно за счет потери «хвоста». Если ЭВМ будет прибавлять 1/10, то может получиться не ожидаемая единица, а число, которое чуть-чуть меньше. В этом таятся подводные камни приближенных вычислений, с которыми иногда приходиться считаться. Но с целыми числами ошибок такого рода не бывает, и результат умножения 2 на 2 в ЭВМ всегда будет равен 4.
Теперь представим себе, что необходимо перевести в двоичную систему смешанное число 96,875. В таких случаях отдельно переводят целую часть числа путем последовательных делений на 2, а затем переводят дробную часть и объединяют полученные результаты:
96,87510=1100000,1112
Десятичная система счисления, с которой начинается наша школьная, а порой и дошкольная математика, относится к позиционным системам счисления. Для нее характерно наличие – числа 10 и цифр , не превосходящих основание . В зависимости от номера позиции, занимаемой в числе, каждая цифра множится на соответствующую степень основания:
1996 = 6•1 + 9•10 + 9•100 + 1•1000
По-другому это можно записать так:
1996 = 1•103 + 9•102 + 9•101 + 6•100.
Отсюда также ясно, как записать любое четырехзначное число :
N = a3•103 + a2•102 + a1•101 + a0•100,
где a0, a1, a2, a3 ¾ десятичные цифры числа, причем цифра a3 не должна быть нулем, иначе число не будет четырехзначным.
Пример 1. Число 534110 запишем в форме многочлена:
534110 = 5 • 103 + 3 • 102 + 4 • 101 + 1 • 100
Пример 2.Число 32110 запишем в двоичной системе счисления. Для этого необходимо разложить число в виде суммы по степеням 2:
32110 = 1• 28+ 1• 26 + 1• 20.
Записываем коэффициенты при степенях двойки (от минимальной нулевой степени к максимальной) справа налево. Поэтому данное число в двоичной системе счисления будет иметь вид: 1010000012.
Пример 3.Для того чтобы решить обратную задачу: перевести число из двоичной системы счисления в десятичную, необходимо воспользоваться формулой и произвести вычисления в десятичной системе счисления.
Число 101001012 перевести в 10-ную систему счисления:
101001012 = 1 • 20 + 1 • 22 + 1 • 23 + 1 • 27 = 16510.
Пример 4.Для перевода целого числа из десятичной в двоичную систему счисления необходимо это число делить на двойку. Если поделилось без остатка, то пишем 0; если с остатком 1, то пишем 1. Это будет последняя цифра в записи числа. Например:
25 — 24 = 1 (остаток 1)
25/2 = 12
12 - 12 = 0 (остаток 0) 12/2 = 6
6 — 6 = 0 (остаток 0) 6/2 = 3
3 — 2 = 1 (остаток 1)
3/2 = 1 (остаток от деления числа 25 на 2) — это и будет первая цифра в записи числа 25 в двоичной системе. То есть 2510 = 110012.
Пример 5.Для перевода целого числа из двоичной системы в десятичную необходимо цифры умножать на двойку в степени номера позиции (номер позиции начинается с нуля и нумеруется справа налево, а для дробей - слева направо). Например:
110012 = 1 • 20 + 0 • 21 + 0 • 22 + 1 • 23 + 1 • 24 = = 1 + 0 + 0 + 8 +16 = 25.
0,1022=1• 2-1+0• 2-2+1• 2-3 = 0,62510
4,3,2,1,0 — номера позиций цифр в числе — они являются степенями двойки.
Таблица систем счисления
№ | Двоичная | Восьмеричная | Десятичная | Шестнадцатеричная |
A | ||||
B | ||||
C | ||||
D | ||||
E | ||||
F | ||||