Авиационно инженерство Административно право Административно право Беларус Алгебра Архитектура Безопасност на живота Въведение в професията „психолог” Въведение в икономиката на културата Висша математика Геология Геоморфология Хидрология и хидрометрия Хидросистеми и хидравлични машини Културология Медицина Психология икономика дескриптивна геометрия Основи на икономически т Oria професионална безопасност Пожарна тактика процеси и структури на мисълта, Професионална психология Психология Психология на управлението на съвременната фундаментални и приложни изследвания в апаратура социалната психология социални и философски проблеми Социология Статистика теоретичните основи на компютъра автоматично управление теория на вероятностите транспорт Закон Turoperator Наказателно право Наказателно-процесуалния управление модерна производствена Физика Физични феномени Философски хладилни инсталации и екология Икономика История на икономиката Основи на икономиката Икономика на предприятията Икономическа история Икономическа теория Икономически анализ Развитие на икономиката на ЕС Спешни ситуации ВКонтакте Однокласници Моят свят Facebook LiveJournal Instagram
border=0

Компютърно кодиране и обработка на подписани цели числа

Кодирането на цели числа със знак може да се направи по два начина. В първия вариант една (старши) цифра се присвоява на машинна дума за записване на знака на число; в същото време те се съгласиха да кодират знака „+“ с нула, знак „-“ с единство. Под записа на самия номер очевидно остават 15 двоични цифри, което осигурява най-високата стойност на числото Z max = 2 15 - 1 = 32767 10 . Такова представяне на числата се нарича пряк код. Но използването му усложнява реда на обработката на номерата; например, операцията по добавяне на два номера с различни знаци трябва да бъде заменена чрез изваждане на най-малкото от по-голямото с последващо присвояване към резултата от знака на по-голям брой. С други думи, операцията е придружена от голям брой проверки на условията и развитието на знаци, в съответствие с които е избрано едно или друго действие.

Алтернатива е да се представят подписани номера в допълнителен код. Идеята за изграждане на допълнителен код е много проста: на оста на положителни числа, които се вписват в машинната дума (0 5 65535), преместваме позицията “О” в средата на интервала; числата, попадащи в първата половина (0 76 32767), ще се считат за положителни, а числата от втората половина (32768 5 65535) - отрицателни. В този случай ще бъде възможно да се прецени за знака на число чрез неговата величина и избирането на знака не се изисква изрично. Например, 100000000000001 2 = 32769 10 е код с отрицателно число, а 000000000000001 2 = 1 10 е положителен код. Като най-важен бит се вижда принадлежност към интервал от кодове на положителни или отрицателни числа - кодовете на положителните числа имат стойността „0“, а отрицателните „1“. Това прилича на подписано представяне, но не е, тъй като се използва различен принцип на кодиране. Използването му позволява да се замени изваждането на числата чрез тяхното сумиране в допълнителния код. Ще видим това малко по-късно, след като обсъдим метода за конструиране на допълнителен код от числа.

Допълнението (D) на k-битово цяло число Z в числовата система p е величината D (ZP, k) = pk - Z.

Тази формула може да бъде представена в различна форма: D (Z P , k) = ((p k - 1) - Z ) + 1. - 1 съгласно (4.8), се състои от k най-високи цифри (p- 1) в тази система с номера, например 9999 10 , FFF 16 или 1111111 2 . Следователно (p k - 1) - Z може да се получи чрез добавяне към всеки p номер на всяка цифра от Z и след това към последната категория 1.

Вижте също:

Обща идея за моделиране

Тестови въпроси и задачи

Организиране на структури от данни в RAM

Пример 10.1

Пример 4.11

Връщане към съдържанието: Теоретични основи на компютърните науки

2019 @ ailback.ru