1) Разберите примеры сложения вещественных чисел в десятичной и двоичной системах счисления, представленных в формате плавающей точки.
Десятичная система счисления: 0.125´10-1 + 0.75´10+2 | Двоичная система счисления: 0.10111´2–1 + 0.11011´2+11 (здесь порядки чисел (степени 2) записаны в двоичном коде) |
1) Сравнение порядков: второе число имеет больший порядок (+2), чем первое число (-1). 2) Выравнивание порядков: первое число надо сдвинуть на 3 разряда вправо (разность порядков 2 – (-1) = 3): 0.125´10-1 исходное положение; 0.0125´100 первый сдвиг; 0.00125´10+1 второй сдвиг; 0.000125´10+2 третий сдвиг. Порядки чисел выровнены. 3) Сложение мантисс: 0.000125 + 0.75 = 0.750125 4) Окончательный результат 0.750125´10+2 | 1) Сравнение порядков: второе число имеет больший порядок (+11(2) = +3(10)), чем первое число (-1(2) = -1(10)). 2) Выравнивание порядков: первое число надо сдвинуть на 4 разряда вправо (разность порядков 3 – (-1) = 4): 0.10111´2-1 исходное положение; 0.010111´20 первый сдвиг; 0.0010111´2+1 второй сдвиг; 0.00010111´2+10 третий сдвиг; 0.000010111´2+11 четвертый сдвиг. Порядки чисел выровнены. 3) Сложение мантисс: 0.0000101111 + 0.11011 = 0.111000111 4) Окончательный результат 0.111000111´2+11 |
2) Самостоятельно выполните в четырехбайтном формате сложение двух вещественных чисел, выбранных из табл. 3, предварительно переведя их в двоичную систему счисления, и осуществите проверку результатов в десятичной системе.
|
|
Таблица 3
Порядковый номер | Первое число | Второе число |
216,329 | 4,284 | |
220,541 | 1,366 | |
20,526 | 6,918 | |
187,757 | 0,025 | |
106,700 | 6,242 | |
163,885 | 4,869 | |
7,485 | 7,264 | |
128,277 | 4,355 | |
157,767 | 7,351 | |
107,001 | 0,748 | |
52,404 | 2,843 | |
124,936 | 6,975 | |
246,541 | 0,359 | |
110,766 | 6,118 | |
59,096 | 7,006 | |
59,281 | 4,279 | |
84,722 | 2,339 | |
39,178 | 6,704 | |
21,215 | 4,336 | |
75,458 | 0,878 | |
94,466 | 2,037 | |
109,968 | 5,349 | |
124,992 | 3,420 | |
34,691 | 8,941 | |
74,391 | 0,364 | |
73,443 | 0,908 | |
198,007 | 1,624 | |
48,844 | 2,931 | |
91,843 | 5,344 | |
105,141 | 0,151 |
Умножение вещественных чисел
При умножении двух нормализованных чисел их порядки складываются, а мантиссы перемножаются.
Например, выполним умножение двоичных нормализованных чисел:
0.11101´2+101 * 0.1001´2+11 = (0.11101*0.1001)´2101 + 11 = 0.100000101´2+1000.
Здесь порядки чисел представлены в двоичной системе счисления.
Задание № 5.
Самостоятельно выполните в четырехбайтном формате умножение двух вещественных чисел, выбранных из табл. 3, предварительно переведя их в двоичную систему счисления и осуществите проверку результатов в десятичной системе.
ВЫВОДЫ
1. При сложении и умножении целых двоичных чисел используются таблицы сложения и умножения, а сами операции выполняются столбиком. При сложении цифры суммируются по разрядам, и если при этом возникает избыток, то он переносится влево.
|
|
2. Операции сложения целых двоичных чисел со знаком осуществляются в обратном или дополнительном кодах. При этом, если в знаковом разряде образуется единица переноса, то в обратном коде она прибавляется к младшему цифровому разряду результата, а в дополнительном коде единица переноса в знаковом разряде отбрасывается. При выполнении сложения может возникнуть ситуация переполнения разрядной сетки.
3. При сложении вещественных двоичных чисел, представленных в формате плавающей точки необходимо придерживаться следующей последовательности действий:
· сравните порядки складываемых чисел;
· число с меньшим порядком сдвиньте вправо на количество разрядов, равное разности порядков операндов;
· производится алгебраическое сложение мантисс;
· при необходимости результат нормализуйте.
4. При умножении двух нормализованных чисел их порядки складываются, а мантиссы перемножаются.
Контрольные вопросы
1. Объясните таблицы сложения и умножения двоичных чисел.
2. Как складываются многозначные двоичные числа?
3. Как умножаются многозначные двоичные числа?
4. Объясните, как складываются двоичные целые числа в обратном коде.
5. Объясните, как складываются двоичные целые числа в дополнительном коде.
6. Что является причиной переполнения разрядной сетки? Как определяется факт переполнения?
7. Объясните последовательность действий при сложении двоичных вещественных чисел в формате плавающей точки.
8. Что понимается под нормализацией двоичного числа в формате плавающей точки?
9. Как выполняется умножение двух нормализованных двоичных вещественных чисел в формате плавающей точки?