Правила перевода правильных дробей
Результатом является всегда правильная дробь.
1. Из десятичной системы счисления– в двоичную и шестнадцатеричную:
а) исходная дробь умножается на основание системы счисления, в которую переводится (2 или 16);
б) в полученном произведении целая часть преобразуется в соответствии с табл. 3.1 в цифру нужной системы счисления и отбрасывается – она является старшей цифрой получаемой дроби;
в) оставшаяся дробная часть вновь умножается на нужное основание системы счисления с последующей обработкой полученного произведения в соответствии с шагами а) и б).
г) процедура умножения продолжается до тех пор, пока ни будет получен нулевой результат в дробной части произведения или ни будет достигнуто требуемое количество цифр в результате;
д) формируется результат: последовательно отброшенные в шаге б) цифры составляют дробную часть результата, причем в порядке уменьшения старшинства.
Пример 3.8. Выполнить перевод числа 0,847 в двоичную систему счисления. Перевод выполнить до четырех значащих цифр после запятой.
Имеем:
*0,847
1,694 *0,694
1,388 *0,388
0,776 *0,776
1,552 и т.д.
0,1101 – результирующее число.
В данном примере процедура перевода прервана на четвертом шаге, поскольку получено требуемое число разрядов результата. Очевидно, это привело к потере ряда цифр.
Таким образом, 0,847 = 0,11012.
Пример 3.9. Выполнить перевод числа 0,847 в шестнадцатеричную систему счисления. Перевод выполнить до трех значащих цифр.
*0,847
13,552 *0,552
D 8,832 *0,832
16
8 13,312 и т.д.
D
0,D8D – результирующее число.
В данном примере также процедура перевода прервана.
Таким образом, 0,847 = 0,D8D16.
2. Из двоичной и шестнадцатеричной систем счисления– в десятичную. В этом случае рассчитывается полное значение числа по формуле (3.3), причем коэффициенты ai принимают десятичное значение в соответствии с табл. 3.1.
Пример 3.10. Выполнить перевод из двоичной системы счисления в десятичную числа 0,11012. Имеем:
0,11012 = 1*2-1 + 1*2-2 + 0*2-3 +1*2-4 = 0,5 + 0,25 + 0 + 0,0625 = 0,8125.
Расхождение полученного результата с исходным для получения двоичной дроби числом (см. пример 3.8) вызвано тем, что процедура перевода в двоичную дробь была прервана.
Таким образом, 0,11012 = 0,8125.
Пример 3.11. Выполнить перевод из шестнадцатеричной системы счисления в десятичную числа 0,D8D16. Имеем:
0,D8D16 = 13*16-1 + 8*16-2 + 13*16-3 = 13*0,0625 + 8*0,003906 + 13* 0,000244 = 0,84692.
Расхождение полученного результата с исходным для получения двоичной дроби числом (см. пример 3.9) вызвано тем, что процедура перевода в шестнадцатеричную дробь была прервана.
Таким образом, 0,D8D16 = 0,84692.
3. Из двоичной системы счисленияв шестнадцатеричную:
а) исходная дробь делится на тетрады, начиная с позиции десятичной точки вправо. Если количество цифр дробной части исходного двоичного числа не кратно 4, оно дополняется справа незначащими нулями до достижения кратности 4;
б) каждая тетрада заменяется шестнадцатеричной цифрой в соответствии с табл. 3.1.
Пример 3.12. Выполнить перевод из двоичной системы счисления в шестнадцатеричную числа 0,11012. Имеем:
0,11012 = 0,11012
первая (и единственная) тетрада
В соответствии с табл. 3.1 11012 = D16. Тогда имеем 0,11012 = 0,D16.
Пример 3.13. Выполнить перевод из двоичной системы счисления в шестнадцатеричную числа 0,00101012.
Поскольку количество цифр дробной части не кратно 4, добавим справа незначащий ноль:
0,00101012 = 0,001010102.
вторая тетрада
первая тетрада
В соответствии с табл. 3.1 00102 = 102 = 216 и 10102 = A16. Тогда имеем 0,00101012 = 0,2A16.
4.Из шестнадцатеричной системы счисленияв двоичную:
а) каждая цифра исходной дроби заменяется тетрадой двоичных цифр в соответствии с табл. 3.1;
б) незначащие нули отбрасываются.
Пример 3.14. Выполнить перевод из шестнадцатеричной системы счисления в двоичную числа 0,2А16.
По таблице 3.1 имеем 216 = 00102 и А16 = 10102.
Тогда 0,2А16 = 0,001010102.
Отбросим в результате незначащий ноль и получим окончательный результат: 0,2А16 = 0,00101012.
Правило перевода дробных чисел
Отдельно переводится целая часть числа, отдельно – дробная. Результаты складываются.
Пример 3.15. Выполнить перевод из десятичной системы счисления в шестнадцатеричную числа 19,847. Перевод выполнять до трех значащих цифр после запятой.
Представим исходное число как сумму целого числа и правильной дроби:
19,847 = 19 + 0,847.
Как следует из примера 3.2, 19 = 1316; а в соответствии с примером 3.9 0,847 = 0,D8D16.
Тогда имеем:
19 + 0,847 = 1316 + 0,D8D16 = 13,D8D16.
Таким образом, 19,847 = 13,D8D16.
Правила выполнения простейших арифметических действий
Арифметические операции для двоичных и шестнадцатеричных чисел выполняются по тем же правилам, что и для десятичных чисел, которые хорошо знакомы читателю. Рассмотрим на примерах выполнение таких арифметических операций, как сложение, вычитание, умножение и деление для целых чисел.
Правила сложения
Пример 3.16. Сложить двоичныечисла 11012 и 110112.
Запишем слагаемые в столбик и пронумеруем разряды, присвоив младшему разряду номер 1:
номера разрядов: 5 4 3 2 1
+ 1 1 0 12
1 1 0 1 12
Процесс образования результата по разрядам описан ниже:
а) разряд 1 формируется следующим образом: 12 + 12 = 102; 0 остается в разряде 1, 1 переносится во второй разряд;
б) разряд 2 формируется следующим образом: 02 + 12 + 12 = 102, где вторая 12 – единица переноса; 0 остается в разряде 2, 1 переносится в третий разряд;
в) третий разряд формируется следующим образом: 12 + 02 + 12 = 102, где вторая 12 – единица переноса; 0 остается в разряде 3, 1 переносится в разряд 4;
г) четвертый разряд формируется следующим образом: 12 + 12 + 12 = 112, где третья 12 – единица переноса; 1 остается в разряде 4, 1 переносится в пятый разряд;
д) пятый разряд формируется следующим образом: 12 + 12 = 102; где вторая 12 – единица переноса; 0 остается в разряде 5, 1 переносится в шестой разряд.
Таким образом:
+ 1 1 0 12
1 1 0 1 12
10 1 0 0 02.
Проверим результат. Для этого определим полные значения слагаемых и результата:
11012 = 1*23 +1*22 + 0*21 + 1*20 = 8 + 4 + 1 = 13;
110112 = 1*24 + 1*23 + 0*22 + 1*21 + 1*20 = 16 + 8 + 2 + 1 = 27;
1010002 = 1*25 + 0*24 + 1*23 + 0*22 + 0*21 + 0*20 = 32 + 8 = 40.
Поскольку 13 + 27 = 40, двоичное сложение выполнено верно.
Пример 3.17. Сложить шестнадцатеричныечисла 1С16 и 7В16.
Запишем слагаемые в столбик и пронумеруем разряды, присвоив младшему разряду номер 1:
номера разрядов: 2 1
+ 1 С16
7 В16
Процесс образования результата по разрядам описан ниже (он включает преобразование в процессе сложения каждой шестнадцатеричной цифры в десятичное число и обратные действия):
а) разряд 1 формируется следующим образом: С16 + В16 = 12 + 11 = 23 = 1716; 7 остается в разряде 1; 1 переносится в разряд 2;
б) разряд 2 формируется следующим образом: 116 + 716 + 116 = 916, где вторая 116 – единица переноса.
Таким образом:
+ 1 С16
7 В16
9 716.
Проверим результат. Для этого определим полные значения слагаемых и результата:
1С16 = 1*161 + 12*160 = 16 + 12 = 28;
7В16 = 7*161 + 11*160 = 112 + 11 = 123;
9716 = 9*161 + 7*160 = 144 + 7 = 151.
Поскольку 28 + 123 = 151, сложение выполнено верно.
Правила вычитания
Пример 3.18. Вычесть из двоичногочисла 1012 двоичноечисло 112.
Запишем алгебраические слагаемые в столбик в порядке «уменьшаемое – вычитаемое» и пронумеруем разряды, присвоив младшему разряду номер 1:
номера разрядов: 3 2 1
- 1 0 12
1 12
Процесс образования результата по разрядам описан ниже:
а) разряд 1 формируется следующим образом: 12 – 12 = 02;
б) разряд 2 формируется следующим образом: поскольку 0 < 1 и непосредственное вычитание невозможно, занимаем для уменьшаемого единицу в старшем разряде 3. Тогда разряд 2 рассчитывается как 102 – 12 = 12;
в) третий разряд формируется следующим образом: поскольку единица была занята в предыдущем шаге, в разряде остался 0.
Таким образом:
- 1 0 12
1 12
1 02.
Проверим результат. Для этого определим полные значения слагаемых и результата. По табл. 3.1 имеем:
1012 = 5; 112 = 3; 102 = 2.
Поскольку 5 – 3 = 2, вычитание выполнено верно.
Пример 3.19. Вычесть из шестнадцатеричногочисла 9716 шестнадцатеричноечисло 7В16.
Запишем алгебраические слагаемые в столбик в порядке «уменьшаемое – вычитаемое» и пронумеруем разряды, присвоив младшему разряду номер 1:
номера разрядов: 2 1
- 9 716
7 В16
Процесс образования результата по разрядам описан ниже:
а) разряд 1 формируется следующим образом: поскольку 716 < В16 и непосредственное вычитание невозможно, занимаем для уменьшаемого единицу в старшем разряде 2. Тогда 1716 – В16 = 23 – 11 = 12 = С16;
б) разряд 2 формируется следующим образом: поскольку единица была занята в предыдущем шаге, разряд 2 уменьшаемого стал равным 816. Тогда разряд 2 рассчитывается как 816 – 716 = 116.
Таким образом:
- 9 716
7 В16
1 С16.
Для проверки результата используем данные из примера 3.17.
Таким образом, вычитание выполнено верно.
Правила умножения
Пример 3.20. Умножить двоичноечисло 1012 на двоичноечисло 112.
Запишем множители в столбик и пронумеруем разряды, присвоив младшему разряду номер 1:
номера разрядов: 3 2 1
* 1 0 12
1 12
Процесс образования результата по шагам умножения множимого на каждый разряд множителя с последующим сложением показан ниже:
а) умножение множимого на разряд 1 множителя дает результат: 1012 * 12 = 1012;
б) умножение множимого на разряд 2 множителя дает результат: 1012 * 102 = 10102. Здесь значение разряда 2 множителя сформировано по принципам формирования значения числа в позиционных системах счисления;
в) для получения окончательного результата складываем результаты предыдущих шагов: 1012 + 10102 = 11112.
Для проверки результата найдем полное значение сомножителей и произведения (см. табл. 3.1):
1012 = 5; 112 = 3; 11112 = 15.
Поскольку 5 * 3 = 15, умножение выполнено верно: 1012 * 112 = 11112.
Пример 3.21. Умножить шестнадцатеричноечисло 1С16 на шестнадцатеричноечисло 7В16.
Запишем множители в столбик и пронумеруем разряды, присвоив младшему разряду номер 1:
номера разрядов: 2 1
* 1 С16
7 В16
Процесс образования результата по шагам умножения множимого на каждый разряд множителя с последующим сложением показан ниже (в процессе умножения выполняем перевод шестнадцатеричных чисел в десятичные и обратно):
а) умножение множимого на разряд 1 множителя дает результат: 1С16 * В16 = 28 * 11 = 308 = 13416;
б) умножение множимого на разряд 2 множителя дает результат: 1С16 * 706 = 28 * 112 = 3136 = С4016. Здесь значение разряда 2 множителя сформировано по принципам формирования значения числа в позиционных системах счисления;
в) для получения окончательного результата складываем результаты предыдущих шагов: 13416 + С4016 = D7416.
Для проверки результата найдем полное значение сомножителей и произведения, воспользовавшись результатами примера 3.17 и правилами формирования полного значения числа:
1С16 = 28; 7В16 = 123;
D7416 = 13*162 + 7*161 + 4*160 = 3444.
Поскольку 28 * 123 = 3444, умножение выполнено верно: 1С16 * 7В16 = D7416.
Правила деления
Рассмотрим правила деления только для двоичных чисел, поскольку деление шестнадцатеричных чисел проще выполнять, переведя их предварительно в десятичную систему счисления.
Пример 3.22. Разделить двоичноечисло 11112 на двоичноечисло 112.
Решение задачи представим схемой:
-11112 112
112 1012
-0112
112
02
Для проверки правильности результата воспользуемся данными из примера 3.20. Они показывают, что деление выполнено верно: 11112 / 112 = 1012.