- •Прокоментувати, як будуються коди цілих чисел в еом.
- •Прокоментувати, як будуються модифіковані коди цілих чисел в еом.
- •Прокоментувати, як будуються коди еом дійсних чисел в форматі з фіксованою комою
- •Прокоментувати, як будуються коди еом дійсних чисел в форматі з плаваючою комою
- •Прокоментувати, як відбуваються операції з числами в форматі з плаваючою комою
- •Відомий код числа в форматі з плаваючою комою d4a3d00016. Визначити природну форму числа.
Прокоментувати, як будуються коди еом дійсних чисел в форматі з фіксованою комою
При
зображенні чисел з фіксованою комою
кількість розрядів, відведена для запису
дробової і цілої частин числа, чітко
фіксована. Нехай, наприклад, у машині
для запису числа відведено п
розрядів, перенумерованих зліва на
право, починаючи з 0 до n,
а кома «зафіксована» після k-го
розряду. Так як положення коми у розрядній
сітці залишається незмінним для всіх
чисел, будь-яке число x
може бути подане в такий спосіб:
де i
- номер
розряду, а ai
може приймати значення або 0 або 1.
Для того, щоб можна було подавати і від’ємне число в такій системі числення, необхідно вирішити проблему кодування знаку числа. Зазвичай під знак виділяється самий лівий розряд. Знак «плюс» кодується цифрою “0”, а «мінус» – “1”.
-
Вага розряду
2k
. . . . .
21
20
2-1
. . . . . .
2k-n
Код числа
a0
a1
. . . . .
ak-1
ak
ak+1
. . . . . .
an
№ розряду
0
1
. . . . .
k-1
k
k+1
. . . . . .
n-1
n
Знайти коди чисел x=77,33 і y=-55,12 в форматі з фіксованою комою. Знайти суму в кодах ЕОМ. Визначимо для уявної ЕОМ формат числа в 2-х байтах (16 розрядів – з 0-го по 15-й), що розподіляються таким чином: 0-й – знак числа, з 1-го по 8-й розряди – ціла частина числа, з 9-го по 15-й – дрібна частина.
x=77,33 =1001101,010010002; y=-55,12 =-110111,0000111012.
-
х – прямий код,
0
0
1
0
0
1
1
0
1
0
1
0
0
1
0
0
-
у – прямий код,
1
0
0
1
1
0
1
1
1
0
0
0
0
1
1
1
зворотний,
1
1
1
0
0
1
0
0
0
1
1
1
1
0
0
0
додатковий
1
1
1
0
0
1
0
0
0
1
1
1
1
0
0
1
Щоб знайти суму х і у додамо додатковий код числа х і додатковий у:
-
77,33 -55,12
0
0
0
0
1
0
1
1
0
0
0
1
0
1
0
1
Одиниця, що вийшла за межі розрядної сітки ігнорується. Код знака свідчить про те, що результат – додатне число, отже воно подане в прямому коді. Переведемо результат в десяткове число:
х+у = 10110,01100112=22,164.
Перевірка: 77,33 -55,12=22,21 – неспівпадіння в дрібній частині за рахунок того, що дрібна частина не вмістилася в розрядній сітці.
