ТОР 5 статей: Методические подходы к анализу финансового состояния предприятия Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века Характеристика шлифовальных кругов и ее маркировка Служебные части речи. Предлог. Союз. Частицы КАТЕГОРИИ:
|
Как преобразовать в десятичное число дробную часть.Известно, что любое рациональное число можно представить в виде десятичной и обыкновенной дроби. Обыкновенная дробь, то есть дробь вида А/В может быть правильной и неправильной. Дробь называется правильной если А<В и неправильной если А>В. Если рациональное число представлено неправильной дробью, и при этом числитель дроби делится на знаменатель нацело, то данное рациональное число - число целое, во всех иных случаях возникает дробная часть. Дробная часть зачастую бывает очень длинным числом и даже бесконечным (бесконечная периодическая дробь, например 20/6), поэтому в случае с дробной частью у нас возникает не просто задача перевода одного представления в другое, а перевод с определённой точностью.
Правило точности. Предположим, дано десятичное число, которое в виде десятичной дроби представимо с точностью до N знаков. Для того чтобы соответствующее двоичное число было той же точности, в нём необходимо записать M - знаков, так что бы 2m > 10N А теперь попробуем получить правило перевода, и для начала рассмотрим пример 5,401
Решение: Целую часть мы получим по уже известным нам правилам, и она равна двоичному числу 101. А дробную часть разложим по степеням 2.
Шаг 1: 2-2 = 0,25; 0,401 - 0,25 = 0,151. - это остаток.
Шаг 2: Сейчас необходимо степенью двойки представить 0,151. Сделаем это: 2-3 = 0,125; 0,151 - 0,125 = 0,026
Таким образом, исходную дробную, часть можно представить в виде 2-2 +2-3 . То же самое можно записать таким двоичным числом: 0,011. В первом дробном разряде стоит ноль, это потому, что в нашем разложении степень 2-1 отсутствует. Из первого и второго шагов ясно, что это представление не точное и может быть разложение желательно продолжить. Обратимся к правилу. Оно говорит, что нам нужно столько знаков М чтобы 103 было меньше чем 2М. То есть 1000<2M. То есть в двоичном разложении у нас должно быть не менее десяти знаков, так как 29 = 512 и только 210 = 1024. Продолжим процесс.
Шаг 3: Сейчас работаем с числом 0,026. Ближайшая к этому числу степень двойки 2-6 = 0,015625; 0,026 - 0,015625 = 0,010375 теперь наше более точное двоичное число имеет вид: 0,011001. После запятой уже шесть знаков, но этого пока недостаточно, поэтому выполняем ещё один шаг.
Шаг 4: Сейчас работаем с числом 0,010375. Ближайшая к этому числу степень двойки 27 = 0,0078125; 0,010375 - 0,0078125 = 0,0025625
Шаг 5: Сейчас работаем с числом 0,0025625. Ближайшая к этому числу степень двойки 2-9 = 0,001953125; 0,0025625 - 0,001953125 = 0,000609375
Последний получившийся остаток меньше чем 2-10 и если бы мы желали продолжать приближение к исходному числу, то нам бы понадобилось 2-11, но это уже превосходит требуемую точность, а, следовательно, расчёты можно прекратить и записать окончательное двоичное представление дробной части.
0,401 = 0,011001101 Как видно, преобразование дробной части десятичного числа в двоичное представление несколько сложнее, чем преобразование целой части. Для удобства пересчета в конце лекции приводится таблица степеней двойки.
Запишем алгоритм преобразования: Исходные данные алгоритма: Буквой А будем обозначать исходную правильную десятичную дробь записанную в десятичной форме. Пусть эта дробь содержит N знаков.
Алгоритм Действие 1. Определим количество необходимых двоичных знаков М из неравенства 10N < 2M
Действие 2: Цикл вычисления цифр двоичного представления (цифры после нуля). Номер цифры будем обозначать символом К.
1. Номер цифры = 1 2. Если 2-К > А То в запись двоичного числа добавляем ноль Иначе § в запись двоичного числа добавляем 1 § А = А - 2-К 3. К = К + 1 4. Если К > М § то работа алгоритма завершена § Иначе переходим на пункт 2. Переведите десятичные числа в двоичные а) 3,6 б) 12,0112 в) 0,231 г) 0,121 д) 23, 0091 Не нашли, что искали? Воспользуйтесь поиском:
|