Перевод дробной части вещественного числа из десятичной системы счисления в двоичную
Дробную часть, а затем дробные части получающихся произведений следует последовательно умножать на 2 до тех пор, пока очередная дробная часть произведения не окажется равной нулю или не будет достигнута нужная точность дроби.
Целые части полученных произведений, записанные последовательно слева направо после запятой в искомом числе, образуют дробную часть искомого числа.
Переводим дробную часть числа:
0.25 * 2 = 0.50.
0.50 * 2 = 1.00 (дробная часть числа равна 0, стоп).
Записываем последовательно слева направо целые части полученных произведений
567.2510 = 1000110111.012
Перевод вещественного числа из двоичной системы счисления в десятичную
Переведем вещественного двоичного числа в десятичное. Пусть оно равно 1000110111.012
Перевод целой части числа
Целая часть 1000110111. Для перевода в десятичное запишем его слева направо как сумму по двоичным разрядам:
1*2 0 +1*2 1 +1*2 2 +0*2 3 +1*2 4 +1*2 5 +0*2 6 +0*2 7 +0*2 8 +1*2 9 =
1*1+1*2+1*4+0*8+1*16+1*32+0*64+0*128+0*256+1*512 = 1+2+4+16+32+512 = 567
Перевод дробной части числа
0.012 = 0*2 -1 +1*2 -2 = 0*0.5+1*0.25 = 0.25.
1000110111.012 = 567.2510
Перевод из двоичной в восьмеричную и шестнадцатеричную системы
Для этого типа операций существует упрощённый алгоритм. Для восьмеричной системы всякое число от 0 до 7 может быть представлено двоичной триадой:
Десятичные дроби и смешанные числа в разных системах счисления.
Перевод целых чисел из одной системы счисления в другую обычно не вызывает проблем. А вот необходимость перевести десятичную дробь или смешанное число (число с целой и дробной частью) из системы в систему часто ставит в тупик даже сильных учеников.
1. Перевод смешанного числа в десятичную систему счисления из любой другой.
Для перевода смешанного числа в десятичную систему из любой другой следует пронумеровать разряды числа, начиная с нуля, справа налево от младшего целого разряда. Разряды дробной части нумеруются слева направо от -1 в убывающем порядке. Теперь представим число в виде суммы произведений его цифр на основание системы в степени разряда числа и ответ готов.
Пример 1.
Переведите число 105,4 из восьмеричной системы в десятичную.
Пронумеруем целые разряды числа справа налево от 0, дробные – слева направо от -1 :
Посчитаем сумму произведений цифр числа на 8 (основание системы) в степени разряда числа:
2. Перевод десятичных дробей из десятичной системы счисления в любую другую.
Для перевода десятичной дроби из десятичной системы в любую другую следует умножать дробь, а затем дробные части произведений, на основание новой системы пока дробная часть не станет равной 0 или до достижения указанной точности. Затем целые части выписать, начиная с первой.
Пример 2
Переведите десятичное число 0,816 в двоичную систему с точностью до сотых.
Умножаем дробь 0,816, а затем дробную часть произведения (0,632) на 2 и выписываем целые части, начиная с первой:

Пример 3.
Переведите десятичное число 0,8125 в восьмеричную систему.
Умножаем дробь 0,8125, а затем дробную часть произведения (0,5) на 8 и выписываем целые части, начиная с первой:

3. Перевод смешанных чисел из десятичной системы счисления в любую другую
Если необходимо перевести смешанное число из десятичной системы в любую другую, следует перевести целую и дробную части, а затем записать, разделив десятичной запятой.
Пример 4.
Сколько единиц в двоичной записи десятичного числа 14,125?
Переведем целую часть числа в двоичную систему:

Переведем дробную часть числа в двоичную систему:

Соединим целую и дробную части:
Количество единиц равно 4.
Благодарим за то, что пользуйтесь нашими публикациями. Информация на странице «Десятичные дроби и смешанные числа в разных системах счисления.» подготовлена нашими авторами специально, чтобы помочь вам в освоении предмета и подготовке к ЕГЭ и ОГЭ. Чтобы успешно сдать нужные и поступить в ВУЗ или техникум нужно использовать все инструменты: учеба, контрольные, олимпиады, онлайн-лекции, видеоуроки, сборники заданий. Также вы можете воспользоваться другими статьями из разделов нашего сайта.
ДРОБНЫЕ ЧИСЛА В ДВОИЧНОЙ СИСТЕМЕ СЧИСЛЕНИЯ
В любой системе счисления нужно уметь представлять не только целые числа, но и дробные. С математической точки зрения это ординарная задача, которая давно решена. Однако с точки зрения компьютерной техники это далеко не тривиальная проблема, во многом связанная с архитектурой компьютера. Ресурсы компьютеров не бесконечны, и основной трудностью является представление периодических и непериодических дробей. Следовательно, такие дроби следует округлять, задавать класс точности участвующих (и могущих появиться в результате вычислений!) чисел без потери точности вычислений, а также следить за тем, чтобы потеря точности не произошла при переводе чисел из одной системы счисления в другую. Особенно важно аккуратно производить вычисления при операциях с плавающей точкой.
Запишем формулу представления дробного числа в позиционной системе счисления:
Ap = an-1·p n-1 +an-2·p n-2 + . + a1·p 1 +a0·p 0 +a-1·p -1 +a-2·p -2 + . + a-m·p -m , [4.1]
В случае десятичной системы счисления получим:
Перевод дробного числа из двоичной системы счисления в десятичную производится по следующей схеме:
Перевод дробного числа из десятичной системы счисления в двоичную осуществляется по следующему алгоритму:
Пример: Требуется перевести дробное десятичное число 206,116 в дробное двоичное число.
Перевод целой части дает 20610=110011102 по ранее описанным алгоритмам; дробную часть умножаем на основание 2, занося целые части произведения в разряды после запятой искомого дробного двоичного числа:
Получим: 20610=11001110,00011101102
Таблицу степеней первых восьми отрицательных степеней двойки можно посмотреть в Приложении.
Перевод дробных чисел из одной системы счисления в другую
После того, как я сделал несколько калькуляторов для перевода между разными системами счисления — вот список от первой до последней версии, от самого простого к сложному: Перевод числа в другие системы счисления, Перевод из десятичной системы счисления, Перевод из одной системы счисления в другую — в комментариях стали периодически спрашивать — а что же, мол, дробные числа, как же их переводить? И когда спросили больше трех раз, я таки решил изучить этот вопрос.
Результатом стал калькулятор, который вы видите ниже, он умеет переводить и дробные числа в том числе. Как водится, для любознательных под калькулятором немного теории.
Перевод дробных чисел из одной системы счисления в другую
Теперь теория. Я, честно говоря, думал, что вопрос довольно сложный, но при ближайшем рассмотрении все оказалось проще простого. Надо было только держать в голове тот факт, что речь идет о позиционных системах счисления.
В чем тут суть? Рассмотрим на примере десятичного числа 6.125. Это дробное число в десятичной системе счисления представляется так:
Все просто, не так ли? Та же самая простота сохраняется и при записи дробного числа в любой другой системе счисления. Возьмем, например, горячо любимую каждым программистом двоичную систему и число, например, 110.001. Эта запись есть не что иное как
Да-да, число для примера было выбрано не просто так. То есть, 110.001 в двоичной системе есть 6.125 в десятичной. Принцип, я думаю, ясен.
Есть только одно но — все-таки из-за того, что здесь участвую дроби с разными знаменателями, не всегда одно и тоже число можно одинаково точно выразить в разных системах счисления. Что я имею в виду?
Возьмем, например, число . Отлично смотрится в десятичной системе счисления. Но вот если попробовать получить запись этого числа в двоичной системе счисления — будут проблемы. Попробуем, пока не устанем
Продолжать можно еще довольно долго, но уже сейчас видно, что 0.8 в десятичной системе это 0.11001100. (дальше очень много цифр) в двоичной. Если честно, то это периодическое число с перидом 1100, так что мы никогда не сможем выразить его точно в двоичной системе счисления. 110011001100. будет продолжаться до бесконечности.
Поэтому перевод дробного числа из одной системы счисления в другую чаще всего дает погрешность. Погрешность эта зависит от того, сколько разрядов мы используем для записи дробной части переведенного числа. Возьмем пример с числом 0.8 и используем для записи его двоичного представления шесть разрядов после запятой — 0.110011. Полученное число вовсе не 0.8, а 0.796875, разница при этом составляет 0.003125. Это и есть наша погрешность перевода десятичного числа 0.8 в двоичный вид при использовании шести разрядов после запятой.
Вес крайнего правого разряда (самого младшего разряда) называется разрешением (resolution) или точностью (precision), и определяет наименьшее неравное нулю число, которое может быть представлено данным числом разрядов. Для нашего примера это . При этом максимально возможная погрешность представления числа, как нетрудно сообразить, не превышает половины этого веса, или 0.0078125. Так что для 0.8 мы имеем еще и не самую плохую погрешность.