48158 (572153), страница 2
Текст из файла (страница 2)
Пример 1.2. Привести десятичную дробь N =0.34375 в двоичную систему счисления (q=2).
Операции перевода приведены в табл. 1.3.
Таблица 1.3 – Перевод дробного числа
| Шаги | Операция умножения | Произведение | Целая часть (цифра) | Разряд | Примечание |
| 1 | 2*0.34375 | 0.6875 | 0 | b-1 | Старший разряд |
| 2 | 2*0.6875 | 1.375 | 1 | b-2 | |
| 3 | 2*0.375 | 0.75 | 0 | b-3 | |
| 4 | 2*0.75 | 1.5 | 1 | b-4 | |
| 5 | 2*0.5 | 1.0 | 1 | b-5 | Младший разряд |
Ответ: N(2) =0. b-1 b-2 b-3 b-4 b-5 =0. 01011.
Переводя правильные дроби из одной системы счисления в другую, можно получить дробь в виде бесконечного или расходящегося ряда. В этом случае рекомендуется процесс перевода заканчивать, если появится дробная часть, имеющая во всех разделах нули, или будет достигнута заданная точность перевода (получено требуемое число разрядов результата).
Естественно, что при этом возникает погрешность перевода чисел. В ЭВМ точность перевода обычно ограничивается длиной разрядной сетки, отведенной для представления чисел.
Для удобства преобразования двоичных чисел в десятичные приведем значения веса некоторых разрядов (позиций) двоичной системы счисления в пределах b15 ... b-6 (см. табл. 1.4).
Таблица 1.4 – Веса разрядов двоичного числа
| 215 | 214 | 213 | 212 | 211 | 210 | 29 | 28 | 27 | 26 | 25 |
| 32768 | 16384 | 8192 | 4096 | 2048 | 1024 | 512 | 256 | 128 | 64 | 32 |
| 24 | 23 | 22 | 21 | 20 | 2-1 | 2-2 | 2-3 | 2-4 | 2-5 | 2-6 |
| 16 | 8 | 4 | 2 | 1 | 0.5 | 0.25 | 0.125 | 0.0625 | 0.03125 | 0.015625 |
Пример 1.3 Перевести двоичное число N(2) =1101. 0101 в десятичное
Как и ранее, ход решения отобразим с помощью табл. 1. 5.
Таблица 1.5 – Перевод дробного числа
| Шаги | Двоичное число (код) | Вес двоичного разряда | Промежуточные значения | |||||||
| 1 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | |||
| 1 | 2-4 | 0,0625 | 1*0,0625=0,0625 | |||||||
| 2 | 2-3 | 0,125 | 0*0,125=0 | |||||||
| 3 | 2-2 | 0,25 | 1*0,25=0,25 | |||||||
| 4 | 2-1 | 0,5 | 0*0,5=0 | |||||||
| 5 | 20 | 1,0 | 1*1,0=1,0 | |||||||
| 6 | 21 | 2,0 | 0*2,0=0 | |||||||
| 7 | 22 | 4,0 | 1*4,0=4,0 | |||||||
| 8 | 23 | 8,0 | 1*8,0=8,0 | |||||||
| Σ(10)=13. 3125 | ||||||||||
Ответ: десятичный эквивалент равен сумме промежуточных значений N10=13. 3125.
В информатике и вычислительной технике разработано множество других методов перевода чисел из одной системы счисления в другую, позволяющих получить результат с меньшими затратами времени на преобразования.
Шестнадцатеричные числа. Шестнадцатеричная система счисления (Н-код происходит от hexadecimal), система с основанием 16 использует символы от 0 до F. Такая форма числа удобна для записи, запоминания и ввода с клавиатуры. Компактность достигается путем разделения бит двоичного числа на тетрады (4 бит) и тогда число комбинаций составит 2 =16.
Пример 1.4 Представить двоичное число N2 =110010111010 шестнадцатеричным N16 или NH, где Н указывает на принадлежность системы счисления к шестнадцатеричной.
Решение: надо начать с младшего бита (МБ) и разделить двоичное число на группы из четырех бит. Затем эти группы заменить эквивалентной шестнадцатеричной цифрой. Первая группа 1010=А, вторая - 1011=В, третья - 100=С, следовательно, результат:
1010 1011 1100 =СВА16 или в Н-коде СВАН.
Поскольку обратные преобразования в рассмотренном примере не встречают затруднения, то рассмотрим преобразования чисел из D-кода (десятичного) в Н-код и обратно.
Пример 1.5 Преобразовать десятичное дробное число в Н-код.
Решение представим в двух частях: отдельно для целой части и для дробной.
В первом случае воспользуемся методикой, заложенной в табл. 1.2, проделаем для N =634. 328125 следующие несложные процедуры (рис. 1.2).
мл. разряд
Ш
аг 1. 634 : 16 = 39, остаток 1010 = А16
Ш
аг 1. 39 : 16 = 2, остаток 710 = 716
ст. разряд
Ш
аг 3. 2 : 16, остаток 210 = 216
63410 = 2 7 А16
Рисунок 1.2 – Десятично-шестнадцатеричное преобразование целой части числа
Для преобразования дробной части воспользуемся схемой операций, приведенных в табл. 1.3. А именно, поэтапно (рис. 1.3):
Ш
аг 1. 16 · 0. 328125 = 5.25 целая часть "5" ст. разряд
Ш
аг 1. 16 · 0. 25 = 4. 0 целая часть "4" мл. разряд
0,328125 = 0. 5 4
Рисунок 1.3 – Десятично-шестнадцатеричный перевод дробной части числа
Пример 1.6 Обратное преобразование шестнадцатеричного числа в десятичное: N16 =5CBA. 27.
Целая часть числа в табл.1.6 получила свой десятичный эквивалент в виде N10 =23738.
Таблица 1.6 – Преобразование шестнадцатеричного числа в десятичное
| Степень позиции | 163 | 162 | 161 | 160 | Результат | |||
| Значение позиции | 4096 | 256 | 16 | 1 | ||||
| Н-код | 5 | С | В | А | ||||
| 4096 | 256 | 16 | 1 | |||||
| * | * | * | * | |||||
| 5 | 12 | 11 | 10 | |||||
| D-код | 20480 | + | 3072 | + | 176 | + | 10 | = 23 73816 |
Несколько упростив запись по сравнению с табл. 1.6, дробную часть Н-кода можно вычислить по следующей схеме, помня, что 16=0.0625, а 16≈0. 0039:
Н-код 0. 2 7
В
ес позиций 16-1 16-2 7·0, 0039 = 0. 0273
2·0, 0625 = 0.1250
сумма дробной части = 0. 152310















