Представлення чисел зі знаком

У інформатиці використовують різні способи представлення чисел зі знаком у двійковій системі числення.

У математиці, від'ємні числа в системі числення з будь-якою основою позначаються за допомогою знака мінус («-») перед ними. Проте, в комп'ютерній техніці, числа представляються лише у вигляді послідовності бітів, без додаткових символів. Існує чотири найвідоміших методи розширення двійкової системи числення для представлення чисел зі знаком:

Деякі альтернативні методи замість явного використання знаку, використовують його неявно, наприклад, можна використовувати систему числення з основою −2. Відповідні способи представлення чисел можуть бути розроблені для будь-яких інших основ, чи додатних, від'ємних, дробових, чи інших розробок на цю тему.

Не існує критеріїв, щоб з'ясувати який метод найкращий. У більшості сучасних обчислювальних пристроїв використовується доповняльний код, існують і такі, які використовують обернений код.

Прямий код

Цей метод ще називають «знак та величина» (англ. sign and magnitude), а про числа записані в такому вигляді кажуть «знакова величина». В першому наближені, задача представлення знака числа зводиться до виділення додаткового знакового біту, який відповідає знаку числа: значення цього біту (зазвичай це старший біт) дорівнює 0 для додатного числа і 1 для від'ємного. Решта бітів числа позначають величину числа (або абсолютне значення). Тому в байті лише 7 біт (знаковий біт відокремлено) буде використано для позначення величини, яка змінюється від 0000000 (0) до 1111111 (127). Таким чином, можна представляти числа від −12710 до +12710 якщо додавати знаковий (восьмий) біт. Як наслідок, існує два способи представлення нуля, а саме 00000000 (0) та 10000000 (−0). Для прикладу, −4310 у 8-бітномі кодуванні буде 10101011.

Цей підхід цілком відповідає загальному способу вказувати знак (розміщувати знак «+» або «−» перед величиною цього числа). Деякі ранні бінарні комп'ютери (наприклад, IBM 7090) використовували таке представлення, скоріш за все, у відповідності до загальноприйнятого способу. Прямий код є найбільш поширеним способом представлення чисел з рухомою комою.

Порівняльна таблиця

У наступній таблиці показані додатні та від'ємні цілі числа, які можуть бути представлені за допомогою 4 біт.

представлення 4-х бітних цілих
Десяткове Беззнакове Прямий код Обернений код Доповняльний код Двійковий зсув Основа −2
+16     Н/Д Н/Д Н/Д Н/Д Н/Д Н/Д
+15     1111 Н/Д Н/Д Н/Д Н/Д Н/Д
+14     1110 Н/Д Н/Д Н/Д Н/Д Н/Д
+13     1101 Н/Д Н/Д Н/Д Н/Д Н/Д
+12     1100 Н/Д Н/Д Н/Д Н/Д Н/Д
+11     1011 Н/Д Н/Д Н/Д Н/Д Н/Д
+10     1010 Н/Д Н/Д Н/Д Н/Д Н/Д
+9     1001 Н/Д Н/Д Н/Д Н/Д Н/Д
+8     1000 Н/Д Н/Д Н/Д Н/Д Н/Д
+7     0111 0111 0111 0111 1111 Н/Д
+6     0110 0110 0110 0110 1110 Н/Д
+5     0101 0101 0101 0101 1101 0101
+4     0100 0100 0100 0100 1100 0100
+3     0011 0011 0011 0011 1011 0111
+2     0010 0010 0010 0010 1010 0110
+1     0001 0001 0001 0001 1001 0001
+0     0000 0000 0000 0000 1000 0000
−0     1000 1111
−1     Н/Д 1001 1110 1111 0111 0011
−2     Н/Д 1010 1101 1110 0110 0010
−3     Н/Д 1011 1100 1101 0101 1101
−4     Н/Д 1100 1011 1100 0100 1100
−5     Н/Д 1101 1010 1011 0011 1111
−6     Н/Д 1110 1001 1010 0010 1110
−7     Н/Д 1111 1000 1001 0001 1001
−8     Н/Д Н/Д Н/Д 1000 0000 1000
−9     Н/Д Н/Д Н/Д Н/Д Н/Д 1011
−10     Н/Д Н/Д Н/Д Н/Д Н/Д 1010
−11     Н/Д Н/Д Н/Д Н/Д Н/Д Н/Д

Зворотня таблиця, в якій послідовності з 4-х бітів ставиться у відповідність числа, в залежності від способу представлення:

БінарнеБеззнаковеПрямий кодОбернений кодДоповняльний кодДвійковий зсувОснова −2
00000000−80
00011111−71
00102222−6−2
00113333−5−1
01004444−44
01015555−35
01106666−22
01117777−13
10008−0−7−80−8
10019−1−6−71−7
101010−2−5−62−10
101111−3−4−53−9
110012−4−3−44−4
110113−5−2−35−3
111014−6−1−26−6
111115−7−0−17−5

Джерела

  • Ivan Flores, The Logic of Computer Arithmetic, Prentice-Hall (1963)
  • Israel Koren, Computer Arithmetic Algorithms, A.K. Peters (2002), ISBN 1-56881-160-8
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.