Паскаль: подання чисел та інших значень, Детальна інформація

Паскаль: подання чисел та інших значень
Тип документу: Реферат
Сторінок: 9
Предмет: Комп`ютерні науки
Автор: Олексій
Розмір: 21.4
Скачувань: 1101
1111'1111'0111'0000,

і ми одержуємо додатковий код числа -144. Він є також оберненим кодом числа -143.

За додатковим кодом від'ємне число "відновлюється" у зворотному порядку:

1) D(A) вважається беззнаковим цілим; обчислюється R(A)=D(A)-1;

2) код, обернений до R(A), є прямим кодом числа | A |.

Той самий результат можна дістати, якщо

1) побудувати код R(D(A)), обернений до D(A);

2) до R(D(A)) як до беззнакового додати 1.

Відповідність знакових цілих чисел та їх кодів наведено в табл. 11.1. Як бачимо, від'ємних чисел на одне більше, ніж додатних.

Елемент X довільного типу-переліку подається як беззнакове цiле число ord(X).

2.3. Принципи подання дійсних чисел

Дiйснi числа в більшості комп'ютерів подаються в N=4, 6, 8 або 10 байтах, поділених на поля (послідовності бітів):

<знак><порядок><мантиса>.

Поле <знак> має довжину 1, а довжини двох інших позначимо d і r відповідно. Зрозуміло, що 1+d+r=8N. Нехай s, e, m – значення цих полів як беззнакових цілих. Вони подають:

s = 0 – знак '+', s = 1 – знак '-';

e – його порядок t = e - (2d-1-1);

m – мантису (дробову частину) m1 = m\xF0D7 2–r.

За значень e, відмінних від крайніх значень 0 та 2d-1, поля <знак><порядок><мантиса> задають число, що є значенням виразу

(-1)s\xF0D7 (1+m1)\xF0D7 2t (11.2)

Оскільки 1\xF0A3 1+m1<2, то кажуть, що число подається в нормалiзованому виглядi. Показник t називається справжнім порядком числа, а e – "зсуненим" (він на 2d-1-1 більше від справжнього). Отже, значення e від 1 до 2d-2 задають справжні порядки t від 1-(2d-1-1)=2-2d-1 до 2d-2-(2d-1-1)=2d-1-1.

Наприклад, нехай d=5, r=10, що задає двобайтове подання. Зсув порядку 25-1-1=24-1. Розглянемо зображення числа -12.375:

-12.375 = (-1100.011)2 = (-1.100011)2\xF0D7 23 ,

тобто t=3, m1=0.100011. Звідси s=1, e=3+(24-1)=18=(10010)2, m=1000110000, і число подається послідовністю бітів 1'10010'1000110000. Тут для наочності поля відокремлено апострофами.

Послідовність бітів 0'00001'0000000000 подає мінімальне додатне число, зображуване за d=5, r=10:

(1 + 0)\xF0D7 21-24+1 = 2-14.

Наступним числом, що подається як 0'00001'0000000001, буде

(1+2-10) \xF0D7 21-24+1=2-14+2-24.

Послідовність бітів 0'11110'11111111111 подає максимальне число

(1+(210-1)\xF0D7 2-10)\xF0D7 225-2-24+1 = (2-2-10)\xF0D7 215 =216 - 25 = 65504.

Попереднє перед ним число має подання 0'11110'11111111110 і є

The online video editor trusted by teams to make professional video in minutes