Перевод десятичного дробного числа в восьмеричное

Пример OnLine перевода десятичного числа в восьмеричную систему счисления сервисом www.reshinfo.com

Ваше число будет переведено в восьмеричную систему OnLine и бесплатно

Задача:

Решение:

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

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

Разделим 649 на восемь ( 8 — это основание системы счисления). Делить будем с остатком, частное запишем в столбец «Част.», а остаток в столбец «Ост.». Затем полученное частное снова разделим на восемь и новое частное и остаток также распределим по столбцам (см. ниже). Повторять деление будем до тех пор, пока последнее частное не окажется меньше восьми.

Теперь мы можем записать 649 в восьмеричной системе счисления. Для этого в старший (самый левый) разряд числа запишем последнее частное, а в следующие, по порядку, разряды запишем все полученные выше остатки, беря их снизу вверх. То есть, в самом младшем разряде оказывается самый верхний остаток.

И так, целая часть: 64910 = 1211 8

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

Умножим дробную часть числа 0.0625 на восемь. Затем дробную часть полученного числа снова умножим на восемь и так далее. Повторять умножение будем до тех пор, пока последняя дробная часть не обратится в ноль, либо не исчерпается разрядная сетка машины (в нашем случае 16 восьмеричных знаков в дробной части).

После последнего умножения получено целое число (дробная часть равна нулю). Процесс умножения прекращаем.

Теперь мы можем записать 0.0625 в восьмеричной системе счисления. Целая часть у нас равна нулю, а цифры в дробной части (слева на право) это есть целые части наших произведений (сверху вниз). То есть, в самом младшем разряде оказывается целая часть последнего произведения.

И так, дробная часть: 0.062510 = 0.04 8

3) Синтезируем исходное число : 649.0625 как композицию знака, целой и дробной частей.

Ответ: 649.062510 = 1211.04 8

Источник

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

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

После того, как я сделал несколько калькуляторов для перевода между разными системами счисления — вот список от первой до последней версии, от самого простого к сложному: Перевод числа в другие системы счисления, Перевод из десятичной системы счисления, Перевод из одной системы счисления в другую — в комментариях стали периодически спрашивать — а что же, мол, дробные числа, как же их переводить? И когда спросили больше трех раз, я таки решил изучить этот вопрос.

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

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

Теперь теория. Я, честно говоря, думал, что вопрос довольно сложный, но при ближайшем рассмотрении все оказалось проще простого. Надо было только держать в голове тот факт, что речь идет о позиционных системах счисления.
В чем тут суть? Рассмотрим на примере десятичного числа 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 мы имеем еще и не самую плохую погрешность.

Источник

Десятичные дроби и смешанные числа в разных системах счисления.

Перевод целых чисел из одной системы счисления в другую обычно не вызывает проблем. А вот необходимость перевести десятичную дробь или смешанное число (число с целой и дробной частью) из системы в систему часто ставит в тупик даже сильных учеников.

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?

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

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

Источник

Оцените статью
( Пока оценок нет )
Поделиться с друзьями
Uchenik.top - научные работы и подготовка
0 0 голоса
Article Rating
Подписаться
Уведомить о
guest
0 Комментарий
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии