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

Паскаль: подання чисел та інших значень
Тип документу: Реферат
Сторінок: 9
Предмет: Комп`ютерні науки
Автор: Олексій
Розмір: 21.4
Скачувань: 1101
Цілі числа подаються в комп'ютері, головним чином, у двох формах – беззнаковій та знаковій. Далі ми будемо ототожнювати числа з їх поданням, усвідомлюючи, що з точки зору математики це не може бути правильним.

       

7 … 0 … 7 … 0 7 … 0

8N-1 …   15 … 8 7 … 0

Беззнаковi числа займають певну кількість N байтiв, яка задає дiапазон (множину) цих чисел від 0 до 28N-1. Найчастiше N=1, 2 або 4, і діапазони чисел – від 0 до відповідно 255, 65535 та 4294967295. Байти записуються від молодших до старших справа наліво та нумеруються від 0 до N-1. Біти всередині байтiв так само записуються від молодших до старших справа наліво й нумеруються від 0 до 7 (рис. 11.1). Усього в N байтах є 8N бітів, які нумеруються справа наліво від 0 до 8N-1. Біти з номерами 8N-1, \xF0BC , 8N-8 утворюють старший байт (він ліворуч), а з номерами 7, \xF0BC , 0 – молодший (праворуч). Комбінація бітів x8N-1, \xF0BC , x0 зображає в двійковій системі число

x8N-1\xF0D7 28N-1+\xF0BC x1\xF0D7 2+x0.

Наприклад, комбінація 00\xF0BC 00 задає число 0, комбінація 00\xF0BC 01 – "один", 00\xF0BC 10 – "два", 11\xF0BC 11 – число 28N-1.

Таблиця 11.1

число код

28N-1 - 1 01\xF0BC 11

28N-1 - 2 01\xF0BC 10

\xF0BC \xF0BC

1 00\xF0BC 01

0 00\xF0BC 00

-1 11\xF0BC 11

-2 11\xF0BC 10

\xF0BC \xF0BC

-28N-1 + 1 10\xF0BC 01

-28N-1 10\xF0BC 00

Знаковi числа займають ті самі N , тобто 1, 2 або 4 байти. Найстарший біт зображає знак числа: 0 – знак '+', 1 – знак '-'. Додатні числа подаються так само, як i беззнакові, лише за рахунок знакового біта дiапазон їх менший – від 0 до 28N-1-1. За N=1, 2 або 4 це відповідно 127, 32767 та 2147483647. Таке подання називається прямим кодом. Наприклад, прямим кодом максимального цілого є 011\xF0BC 1.

Від'ємні числа подаються в коді, названому додатковим. Для від'ємного числа A він позначається D (A) й утворюється так:

1) за прямим кодом числа |A| заміною всіх 0 на 1 та всіх 1 на 0 будується обернений код R(A);

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

Очевидно, що D(A)=R(|A|-1). Наприклад, побудуємо двобайтовий додатковий код числа –144. Прямим двобайтовим кодом числа 144 буде

0000'0000'1001'0000

(апострофи записано для наочності), оберненим –

1111'1111'0110'1111.

До нього додається 1:

1111'1111'0110'1111

1

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