§ 25. Кодирование числовых данных
25.1. Перевод дробных и смешанных чисел
Рассмотрим перевод правильной десятичной дроби в любую другую позиционную систему счисления. Для перевода десятичной дроби F в систему счисления с основанием q ( F10 → Fq) необходимо F умножить на q, затем дробную часть произведения снова умножить на q и т. д., до тех пор, пока дробная часть произведения не станет равной нулю, либо пока не будет достигнута требуемая точность представления F в системе счисления q (определенное количество цифр в записи результата). Схема перевода десятичной дроби в двоичную систему счисления выглядит следующим образом: При повторении значений дробной части (правый столбец таблицы), повторяющуюся группу цифр в записи целых частей (левый столбец таблицы), нужно записать как период дроби. В примере 25.1 выполнены переводы ( F10 → Fq) десятичных дробей в позиционную систему счисления с основанием q ( F10 → Fq). Для смешанных чисел перевод выполняется отдельно для целой и дробной части (пример 25.2). В ситуации перевода дробей Zp → Zq, когда основания систем счисления (p и q) являются степенями двойки, двоичную систему счисления удобно использовать для перевода как промежуточную по схеме Zp → Z2 → Zq. В этом случае разделение цифр в записи числа на группы начинается с нулевого разряда и выполняется так же, как и при переводе целых чисел (пример 25.3). При этом разряды в записи чисел нумеруются с 0, и цифра в нулевом разряде соответствует единицам. Нумерация разрядов возрастает влево от нулевого разряда и убывает вправо, т. е. в дробной части числа нумерация разрядов отрицательная. Алгоритм перевода дробных и смешанных чисел из системы счисления с основанием p в систему счисления с основанием 10 (Zp → Z10 ), так же как для целых чисел, вытекает из способа представления числа в системе счисления с основанием (пример 25.4). |
Пример 25.1. Перевод правильной десятичной дроби в другие системы счисления. 1) 2) 3) 4) 0,91610 ≈ 0,223 (с предельной абсолютной погрешностью 3–4). Пример 25.2. Перевод смешанного числа из десятичной системы счисления в систему счисления с другим основанием. 41,62510 → х16 4110 = 2916 41,62510 = 29,А16 Пример 25.3. Перевод Z8 → Z2 → Z16. 362,538 = 011¢110¢010,101¢011 = 0¢1111¢0010,1010¢1100 = F2,AB16 Пример 25.4. Перевод смешанного числа из системы счисления с основанием p в систему счисления с основанием 10. Для перевода необходимо:
Переведем в десятичную систему счисления шестнадцатеричное число 29,А16:
|