Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
02Nums.doc
Скачиваний:
6
Добавлен:
08.11.2018
Размер:
287.23 Кб
Скачать
    1. 2.7. Внутрішнє зображення числових даних

Як уже зазначалося, вісім послідовних бітів утворюють байт, який може мати 256 різних станів (комбінацій з 0 і 1). Їм можна поставити у взаємно однозначну відповідність цілі числа від 0 до 255, цілі числа від –128 до 127, пари шістнадцяткових цифр або елементи якоїсь іншої 256-елементної множини.

      1. Зображення цілих чисел

Цілі числа зображаються в комп’ютері переважно у двох формах — беззнаковій та знаковій. Ці форми називаються кодами. Далі числа будемо ототожнювати з їх зображенням, хоча з погляду математики це є хибним.

Беззнаковi коди займають декілька байтів (найчастіше, 1, 2, 4 або 8). Байти нумеруються, починаючи з 0. Біти всередині байтiв нумеруються від 0 до 7. N байтів містять 8N бітів, тому використовують також наскрізну нумерацію бітів — від 0 до 8N–1 (від молодших до старших). Усі можливі послідовності бітів зображають числа від 0 до . Відповідність між кодами та числами за різних значень N подано у такій таблиці.

Коди

Числа

N = 1

N = 2

N = 4

11…11

11…10

11…01

10…00

01…11

00…10

00…01

00…00

–2

–3

–1

2

1

0

255

254

253

128

127

2

1

0

65535

65534

65533

32768

32767

2

1

0

4394967295

4394967294

4394967293

2147483548

2147483647

2

1

0

Знакові коди також займають 1, 2, 4 або 8 байт. Старший біт зображає знак числа: 0 — «+», 1 — «–». Додатні числа зображаються так само, як i беззнакові, лише за рахунок знакового біта їх діапазон — від 0 до . Таке зображення називається прямим кодом. Наприклад, число має прямий код 0111.

Від’ємні числа зображено так званим додатковим кодом. Код від’ємного числа A позначається D(A) й утворюється так.

1. За прямим кодом числа |a| шляхом заміни всіх 0 на 1 і всіх 1 на 0 будуємо обернений код r(a).

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

Приклад 2.6.1. Побудуємо двобайтовий додатковий код числа –144.

Прямий код |A|

0000 0000 1001 0000

Обернений код R(A)

1111 1111 0110 1111

Додавання 1

1

Додатковий код D(A)

1111 1111 0111 0000

«Відновити» за додатковим кодом від’ємне число можна у зворотному порядку.

1. D(A) розглядаємо як беззнакове ціле, обчислюємо R(A) = D(A)–1.

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

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

1. Будуємо код r(d(a)), обернений до d(a).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]