перевод чисел в двоичную систему



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

Автор Виктор Тарасов задал вопрос в разделе Другие языки и технологии

Как перевести дробное десятичное число в двоичное. С плавающей запятой. и получил лучший ответ

Ответ от Cheery[гуру]
Перевод из десятичной в произвольную позиционную систему счисления
Целая часть
1. Последовательно делить целую часть десятичного числа на основание, пока десятичное число не станет равно нулю.
2. Полученные при делении остатки являются цифрами нужного числа. Число в новой системе записывают, начиная с последнего остатка.
Дробная часть
1. Дробную часть десятичного числа умножаем на основание системы, в которую требуется перевести. Отделяем целую часть. Продолжаем умножать дробную часть на основание новой системы, пока она не станет равной 0.
2. Число в новой системе записывают, начиная с последнего остатка, как при целой части.
Пример
44(10) переведём в двоичную систему
44 делим на 2. частное 22, остаток 0
22 делим на 2. частное 11, остаток 0
11 делим на 2. частное 5, остаток 1
5 делим на 2. частное 2, остаток 1
2 делим на 2. частное 1, остаток 0
1 делим на 2. частное 0, остаток 1
Частное равно нулю, деление закончено. Теперь записав все остатки снизу вверх получим число 101100(2)
Для перевода дробной части числа в другие системы счисления нужно обратить целую часть в нуль и начать умножение получившегося числа на основание той системы, в которую нужно перевести. Если в результате умножения будут снова появляться целые части, их нужно повторно обращать в нуль, предварительно запомнив (записав) значение получившейся целой части. Операция заканчивается, когда дробная часть полностью обратится в нуль. Ниже приводится пример перевода числа 103,625(10) в двоичную систему счисления.
Переводим целую часть по правилам, описанным выше, получаем 103(10) = 1100111(2).
0,625 умножаем на 2. Дробная часть 0,250. Целая часть 1.
0,250 умножаем на 2. Дробная часть 0,500. Целая часть 0.
0,500 умножаем на 2. Дробная часть 0,000. Целая часть 1.
Итак, сверху вниз получаем число 101(2)
103,625(10) = 1100111,101(2)
Точно также осуществляется перевод в системы счисления с любым основанием.
Сразу нужно отметить, что этот пример специально подобран, в общем случае очень редко удаётся завершить перевод дробной части числа из десятичной системы в другие системы счисления, а потому, в подавляющем большинстве случаев, перевод можно осуществить с какой либо долей погрешности. Чем больше знаков после запятой — тем точнее приближение результата перевода к истине. В этих словах легко убедиться, если попытаться, например, перевести в двоичный код число 0,626.
ps: насчет плавающей запятой тоже просто
Формат чисел с плавающей запятой базируется на экспоненциальной форме записи, в которой может быть представлено любое число. Так число А может быть представлено в виде: A=m*n^q, где m - мантисса числа; q - основание системы счисления;
n - порядок числа.
Такая форма записи имеет недостаток: некоторые числа записываются неоднозначно (например, 0,0001 можно записать в 4 формах — 0,0001×10^0, 0,001×10^−1, 0,01×10^−2, 0,1×10^−3), поэтому распространена (особенно в информатике) также другая форма записи — нормализованная, в которой мантисса десятичного числа принимает значения от 1 (включительно) до 10 (не включительно) , а мантисса двоичного числа принимает значения от 1 (включительно) до 2 (не включительно) . В такой форме любое число (кроме 0) записывается единственным образом. Недостаток заключается в том, что в таком виде невозможно представить 0, поэтому представление чисел в информатике предусматривает специальный признак (бит) для числа 0.
Это означает, что мантисса должна быть правильной дробью и иметь после запятой цифру, отличную от нуля.
Преобразуем десятичное число 555,55, записанное в естественной форме, в экспоненциальную форму с нормализованной мантиссой:
555,55 = 0,55555 × 10³ .
Здесь нормализованная мантисса: m = 0,55555, порядок: n = 3.
Источник: ru.wikipedia.org/wiki/Позиционная_система_счисления

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: Как перевести дробное десятичное число в двоичное. С плавающей запятой.
Двоичная система счисления на Википедии
Посмотрите статью на википедии про Двоичная система счисления
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*