У інформатиці використовують різні способи представлення чисел зі знаком у двійковій системі числення.
У математиці, від'ємні числа в системі числення з будь-якою основою позначаються за допомогою знака мінус («-») перед ними. Проте, в комп'ютерній техніці, числа представляються лише у вигляді послідовності бітів, без додаткових символів. Існує чотири найвідоміших методи розширення двійкової системи числення для представлення чисел зі знаком:
Деякі альтернативні методи замість явного використання знаку, використовують його неявно, наприклад, можна використовувати систему числення з основою −2. Відповідні способи представлення чисел можуть бути розроблені для будь-яких інших основ, чи додатних, від'ємних, дробових, чи інших розробок на цю тему.
Не існує критеріїв, щоб з'ясувати який метод найкращий. У більшості сучасних обчислювальних пристроїв використовується доповняльний код, існують і такі, які використовують обернений код.
Прямий код
Цей метод ще називають «знак та величина» (англ. sign and magnitude), а про числа записані в такому вигляді кажуть «знакова величина». В першому наближені, задача представлення знака числа зводиться до виділення додаткового знакового біту, який відповідає знаку числа: значення цього біту (зазвичай це старший біт) дорівнює 0 для додатного числа і 1 для від'ємного. Решта бітів числа позначають величину числа (або абсолютне значення). Тому в байті лише 7 біт (знаковий біт відокремлено) буде використано для позначення величини, яка змінюється від 0000000 (0) до 1111111 (127). Таким чином, можна представляти числа від −12710 до +12710 якщо додавати знаковий (восьмий) біт. Як наслідок, існує два способи представлення нуля, а саме 00000000 (0) та 10000000 (−0). Для прикладу, −4310 у 8-бітномі кодуванні буде 10101011.
Цей підхід цілком відповідає загальному способу вказувати знак (розміщувати знак «+» або «−» перед величиною цього числа). Деякі ранні бінарні комп'ютери (наприклад, IBM 7090) використовували таке представлення, скоріш за все, у відповідності до загальноприйнятого способу. Прямий код є найбільш поширеним способом представлення чисел з рухомою комою.
Порівняльна таблиця
У наступній таблиці показані додатні та від'ємні цілі числа, які можуть бути представлені за допомогою 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 |
---|---|---|---|---|---|---|
0000 | 0 | 0 | 0 | 0 | −8 | 0 |
0001 | 1 | 1 | 1 | 1 | −7 | 1 |
0010 | 2 | 2 | 2 | 2 | −6 | −2 |
0011 | 3 | 3 | 3 | 3 | −5 | −1 |
0100 | 4 | 4 | 4 | 4 | −4 | 4 |
0101 | 5 | 5 | 5 | 5 | −3 | 5 |
0110 | 6 | 6 | 6 | 6 | −2 | 2 |
0111 | 7 | 7 | 7 | 7 | −1 | 3 |
1000 | 8 | −0 | −7 | −8 | 0 | −8 |
1001 | 9 | −1 | −6 | −7 | 1 | −7 |
1010 | 10 | −2 | −5 | −6 | 2 | −10 |
1011 | 11 | −3 | −4 | −5 | 3 | −9 |
1100 | 12 | −4 | −3 | −4 | 4 | −4 |
1101 | 13 | −5 | −2 | −3 | 5 | −3 |
1110 | 14 | −6 | −1 | −2 | 6 | −6 |
1111 | 15 | −7 | −0 | −1 | 7 | −5 |
Джерела
- Ivan Flores, The Logic of Computer Arithmetic, Prentice-Hall (1963)
- Israel Koren, Computer Arithmetic Algorithms, A.K. Peters (2002),
Це незавершена стаття про інформаційні технології. Ви можете проєкту, виправивши або дописавши її. |
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
U informatici vikoristovuyut rizni sposobi predstavlennya chisel zi znakom u dvijkovij sistemi chislennya U matematici vid yemni chisla v sistemi chislennya z bud yakoyu osnovoyu poznachayutsya za dopomogoyu znaka minus pered nimi Prote v komp yuternij tehnici chisla predstavlyayutsya lishe u viglyadi poslidovnosti bitiv bez dodatkovih simvoliv Isnuye chotiri najvidomishih metodi rozshirennya dvijkovoyi sistemi chislennya dlya predstavlennya chisel zi znakom pryamij kod obernenij kod dopovnyalnij kod dvijkovij zsuv Deyaki alternativni metodi zamist yavnogo vikoristannya znaku vikoristovuyut jogo neyavno napriklad mozhna vikoristovuvati sistemu chislennya z osnovoyu 2 Vidpovidni sposobi predstavlennya chisel mozhut buti rozrobleni dlya bud yakih inshih osnov chi dodatnih vid yemnih drobovih chi inshih rozrobok na cyu temu Ne isnuye kriteriyiv shob z yasuvati yakij metod najkrashij U bilshosti suchasnih obchislyuvalnih pristroyiv vikoristovuyetsya dopovnyalnij kod isnuyut i taki yaki vikoristovuyut obernenij kod Pryamij kodDokladnishe Pryamij kod Cej metod she nazivayut znak ta velichina angl sign and magnitude a pro chisla zapisani v takomu viglyadi kazhut znakova velichina V pershomu nablizheni zadacha predstavlennya znaka chisla zvoditsya do vidilennya dodatkovogo znakovogo bitu yakij vidpovidaye znaku chisla znachennya cogo bitu zazvichaj ce starshij bit dorivnyuye 0 dlya dodatnogo chisla i 1 dlya vid yemnogo Reshta bitiv chisla poznachayut velichinu chisla abo absolyutne znachennya Tomu v bajti lishe 7 bit znakovij bit vidokremleno bude vikoristano dlya poznachennya velichini yaka zminyuyetsya vid 0000000 0 do 1111111 127 Takim chinom mozhna predstavlyati chisla vid 12710 do 12710 yaksho dodavati znakovij vosmij bit Yak naslidok isnuye dva sposobi predstavlennya nulya a same 00000000 0 ta 10000000 0 Dlya prikladu 4310 u 8 bitnomi koduvanni bude 10101011 Cej pidhid cilkom vidpovidaye zagalnomu sposobu vkazuvati znak rozmishuvati znak abo pered velichinoyu cogo chisla Deyaki ranni binarni komp yuteri napriklad IBM 7090 vikoristovuvali take predstavlennya skorish za vse u vidpovidnosti do zagalnoprijnyatogo sposobu Pryamij kod ye najbilsh poshirenim sposobom predstavlennya chisel z ruhomoyu komoyu Porivnyalna tablicyaU nastupnij tablici pokazani dodatni ta vid yemni cili chisla yaki mozhut buti predstavleni za dopomogoyu 4 bit predstavlennya 4 h bitnih cilih Desyatkove Bezznakove Pryamij kod Obernenij kod Dopovnyalnij kod Dvijkovij zsuv Osnova 2 16 N D N D N D N D N D N D 15 1111 N D N D N D N D N D 14 1110 N D N D N D N D N D 13 1101 N D N D N D N D N D 12 1100 N D N D N D N D N D 11 1011 N D N D N D N D N D 10 1010 N D N D N D N D N D 9 1001 N D N D N D N D N D 8 1000 N D N D N D N D N D 7 0111 0111 0111 0111 1111 N D 6 0110 0110 0110 0110 1110 N D 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 N D 1001 1110 1111 0111 0011 2 N D 1010 1101 1110 0110 0010 3 N D 1011 1100 1101 0101 1101 4 N D 1100 1011 1100 0100 1100 5 N D 1101 1010 1011 0011 1111 6 N D 1110 1001 1010 0010 1110 7 N D 1111 1000 1001 0001 1001 8 N D N D N D 1000 0000 1000 9 N D N D N D N D N D 1011 10 N D N D N D N D N D 1010 11 N D N D N D N D N D N D Zvorotnya tablicya v yakij poslidovnosti z 4 h bitiv stavitsya u vidpovidnist chisla v zalezhnosti vid sposobu predstavlennya Binarne Bezznakove Pryamij kod Obernenij kod Dopovnyalnij kod Dvijkovij zsuv Osnova 20000 0 0 0 0 8 00001 1 1 1 1 7 10010 2 2 2 2 6 20011 3 3 3 3 5 10100 4 4 4 4 4 40101 5 5 5 5 3 50110 6 6 6 6 2 20111 7 7 7 7 1 31000 8 0 7 8 0 81001 9 1 6 7 1 71010 10 2 5 6 2 101011 11 3 4 5 3 91100 12 4 3 4 4 41101 13 5 2 3 5 31110 14 6 1 2 6 61111 15 7 0 1 7 5DzherelaIvan Flores The Logic of Computer Arithmetic Prentice Hall 1963 Israel Koren Computer Arithmetic Algorithms A K Peters 2002 ISBN 1 56881 160 8 Ce nezavershena stattya pro informacijni tehnologiyi Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi