Как дробную часть перевести в двоичную

от admin

Перевод дробной части вещественного числа из десятичной системы счисления в двоичную

Дробную часть, а затем дробные части получающихся произведений следует последовательно умножать на 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 и выписываем целые части, начиная с первой:

2

Пример 3.

Переведите десятичное число 0,8125 в восьмеричную систему.

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

3

3. Перевод смешанных чисел из десятичной системы счисления в любую другую

Если необходимо перевести смешанное число из десятичной системы в любую другую, следует перевести целую и дробную части, а затем записать, разделив десятичной запятой.

Пример 4.

Сколько единиц в двоичной записи десятичного числа 14,125?

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

4

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

5

Соединим целую и дробную части:

Количество единиц равно 4.

Благодарим за то, что пользуйтесь нашими публикациями. Информация на странице «Десятичные дроби и смешанные числа в разных системах счисления.» подготовлена нашими авторами специально, чтобы помочь вам в освоении предмета и подготовке к ЕГЭ и ОГЭ. Чтобы успешно сдать нужные и поступить в ВУЗ или техникум нужно использовать все инструменты: учеба, контрольные, олимпиады, онлайн-лекции, видеоуроки, сборники заданий. Также вы можете воспользоваться другими статьями из разделов нашего сайта.

ДРОБНЫЕ ЧИСЛА В ДВОИЧНОЙ СИСТЕМЕ СЧИСЛЕНИЯ

В любой системе счисления нужно уметь представлять не только целые числа, но и дробные. С математической точки зрения это ординарная задача, которая давно решена. Однако с точки зрения компьютерной техники это далеко не тривиальная проблема, во многом связанная с архитектурой компьютера. Ресурсы компьютеров не бесконечны, и основной трудностью является представление периодических и непериодических дробей. Следовательно, такие дроби следует округлять, задавать класс точности участвующих (и могущих появиться в результате вычислений!) чисел без потери точности вычислений, а также следить за тем, чтобы потеря точности не произошла при переводе чисел из одной системы счисления в другую. Особенно важно аккуратно производить вычисления при операциях с плавающей точкой.

Читать:
Random dazzle как открыть

Запишем формулу представления дробного числа в позиционной системе счисления:

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 мы имеем еще и не самую плохую погрешность.

Похожие статьи