Двоични десетични числа
Допълнителният код на номер +98 ще бъде байт 62h
Добавяне(x) =2k - x ако x 0
Например,
илиsl ovo0062h;
-допълнителен цифров код -98 -ba yt9Eh
(=158=256-98)
илиsl ovoFF9Eh (2 16 -98=10000h-62h).
Ето още няколко примера за представяне наподписани числа вдопълнителен код (за размер на клетка от байтове):
Добавете (0) = 0 = 00000000
Добавете (1) = 1 = 00000001
Екстра (-1) = 256 - 1 = 255 = 11111111
Добавете (2) = 2 = 00000010
Екстра (-2) = 256 - 2 = 254 = 11111110
Добавете (3) = 3 = 00000011
Екстра (-3) = 256 - 3 = 252 = 11111101
Екстра (+126) = 126 = 01111110
Екстра (-126) = 256 -126 = 130 = 10000010
Екстра (+127) = 127 = 01111111
Екстра (-127) = 256 - 127 = 129 = 10000001
Екстра (-128) = 256 - 128 = 128 = 10000000
От тези примери се вижда, че в допълнителния коднай-левият ти бит играеролята на знак :
- занеотрицателни отрицателни числа е равно на0,
- и заотрицателен положителен е равен на1.
Подобно на числата без знак,числата със знакдумата идвойните думи се съхраняват в паметта в "обърната " форма.
Например,
номер-98 като дума ще бъде съхранена в паметта по следния начин:
съдържание: 9EFF
битътзнак евъв втория (десен) байтна думата.
Обработката на цифрова информация на компютър, като правило, се извършва по следния начин.
Тъй катопървоначалните данни ирезултатите данните са записани в познатата на хоратадесетична система икомпютърът работи сдвоични числа, тогава привъвеждане числасе преобразуват в двоичната система, след което двоичните числа се обработват и приизвеждане резултатите се преобразуват вдесетична система.
В този случайпрехвърлянето на номера от една система в друга, разбира се, отнема време.
Но акоот едни данни ирезултатът получаваняколко и и тяхната обработка на данни отнема значително време, тогава цената на преводитене е много забележима.
Съществуват обаче класове проблеми (например търговски), които се характеризират свъвеждане на голям масив отчислови данни, последвано от прилагане само наедна или две аритметични операции към тях иизвеждане на същияголям брой резултати.
При тези условияпреводите на числа от десетична в двоична система и обратноможеда отнемат лъвския дял от общото време, което, разбира се,е нерентабилно.
Имайки това предвид, компютърът предоставяспециално представяне на цели числа, при което те всъщностне се различават от записа на числата в двоичната система и което следователно практическине изисква преобразуване на числатавъншно представяне въввътрешно нее и обратно, и са осигурени командиаритметични операции върху такива числа.
Това представяне на числа се наричадвоично кодирано десетично (двоично кодирано десетично,BCD -числа)
и е изграден съгласно следнияпринцип :
-dec вземат се десетични записи на числото
- и всяка от неговите цифри се заменя счетири двоични цифри (от0000 до1001 ), обозначаващи тази цифра в двоичната система.
Например,
числото193 ще бъде представено така: 0001 1001 0011.
Разликата междудвоични и BCD представяния на числасе проявява в това, че ако вдвоично представянебаза се приема катостойност на числото (независимо от това как точно е първоначално записано), след това в двоично-десетично представянебаза се вземазапис на числото, освен това това едесетична система (ако числото е записано в друга система, да речем, в септимална, тогава ще се получи различно представяне).
В този случай едноцифрените числа (от0 до9 ) се записватпо същия начин и в двете представяния, но вече садвуцифрени и се представят по различен начин:
например,
числото 13 вдвоичен се записва като00001011, а в BCD като00010011.
Предимството на двоично-десетичните числа, както вече беше отбелязано, е, че на практикане се изисква превод от десетичната система.
Факт е, чевъведените числа сапо цифри, а двоично-десетичното представяне е поредицата отцифри на числото.
Недостатъкът на това представяне е, че наличните команди в компютърапозволяват да се извършват аритметични операциисамо върху едноцифрени двоично-десетични числа, докато операциите върхумногоцифрени числа трябва да се изпълняватпрограмно, което отнема много време.
В същото време операциите смногозначни двоични числасе изпълняватот апарат tno и следователно се изпълняватпо-бързо.
По-долу няма да разглеждаме двоични десетични числа.