В двоичную и обратно

Перевод чисел из десятичной системы счисления

Для перевода целого десятичного числа N в двоичную систему счисления необходимо разделить N на 2 с остатком. Затем неполное частное, полученное от этого деления, нужно снова разделить на 2 с остатком и т.д., пока последнее полученное неполное частное не станет равным нулю. Число N в двоичной системе счисления представится в виде упорядоченной последовательности полученных остатков деления, записанных в порядке, обратном порядку их получения.

 

Пример 1.2.1. Перевести числа 25 и 11 из десятичной системы в двоичную.

 

 

В результате делений получили: 2710=110012 и 1110=10112. Ответы проверим обратным переводом:

110012= 1*24+1*23+0*22+0*21+1*20=16+8+0+0+1=2510;

10112= 1*23+0*22+1*21+1*20= 8+0+2+1=1110.

Для перевода правильной десятичной дроби F в двоичную систему счисления необходимо F умножить на 2, затем дробную часть полученного произведения снова умножить на 2 и т.д., до тех пор, пока дробная часть очередного произведения не станет равной нулю, либо не будет достигнута требуемая точность изображения числа F в двоичной системе. Представлением дробной части числа F в новой системе счисления будет последовательность целых частей полученных произведений, записанных в порядке их получения.

Пример 1.2.2.Перевести числа 0,5625 и 0,7 в двоичную систему.

и.т.д.

В результате умножений получили: 0,562510=0,10012 и 0,70,101102. Как видим, во втором примере процесс умножения может продолжаться бесконечно, давая всё новые и новые знаки в изображении двоичного эквивалента числа 0,7. Такой бесконечный процесс обрывают на некотором шаге, когда считают, что получена требуемая точность представления числа. Если требуемая точность перевода числа F составляет k знаков после запятой, то предельная абсолютная погрешность при этом равняется 2-(к+1)/2.

 

Ответы проверим обратным переводом:

0,10012=1*2-1+0*2-2+0*2-3+1*2-4=1/2+0+0+1/16=9/16=0,5625;

0,10112=1*2-1+0*2-2+1*2-3+1*2-4=1/2+0+1/8+1/16=11/16= 0,6875100,7.

Перевод произвольных чисел, т.е. чисел, содержащих целую и дробную части, осуществляется в два этапа. Отдельно переводится целая часть, отдельно – дробная, в итоговой записи полученного числа целая часть отделяется от дробной запятой.

 

Пример 1.2.3.Перевести число 111,5625 в двоичную систему.

В примерах 1.2.1 и 1.2.2 были установлены, что 1110=10112 и 0,562510= 0,10012. Поскольку 11,5625=1110+0,562510, то получим 11,562510=1011,10012.