Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Gmail / Лекция1.Дубль3..doc
Скачиваний:
55
Добавлен:
12.05.2015
Размер:
1.09 Mб
Скачать

Кодування чисел

Для спрощення арифметичних операцій,числа в цифрових пристрояхЕОМ подаються спеціальними кодами -прямим,оберненимідодатковим.

Всі три способи використовують самий лівий (старший) розряд бітового набору довжини n для кодування знака числа: знак "плюс" кодується нулем, а "мінус" - одиницею. Інші n-1 розрядів (цифрова частина) використовуються для представлення абсолютної величини числа.

Додатні числа у прямому, оберненому та додатковому кодах записуються однаково - двійковим кодом числа з цифрою 0 у знаковому розряді. Наприклад, при розмірі розрядної сітки n = 8:

Від’ємні числа в прямому, зворотному і додатковому кодах мають різне представлення.

Прямий код від’ємного числа відрізняється від прямого коду додатного числа тим, що значення його знакового розряду дорівнює не 0, а 1. Наприклад, прямий код чисел -1 і -127 у 8-розрядній сітці:

У прямому коді в розрядну сітку комп'ютера можна записати наступне максимальне за абсолютним значенням число:

Хп max = 0111…1= 2n-1 -1,

де n - кількість розрядів розрядної сітки комп'ютера.

Діапазон зміни машинного представлення цілих чисел для прямого коду лежить в межах

–(2n-1 -1) < [Хп] < (2n-1 -1).

Обернений код від’ємного числа отримується із прямого коду шляхом замінийогоцифр наїхдоповнення до1. Код знаказберігаєтьсябез змін. Заміна цифр їх доповненням для двійкової системи співпадає з операцією інверсії, тобто у всіх розрядах нулі потрібно замінити на 1, а одиниці - на 0. Наприклад, обернений код чисел -1 і -127 у 8-розрядній сітці:

Діапазон зміни машинного представлення цілих чисел для оберненого коду: -(2n-1–1) .. 0.

Додатковий код від’ємного числа отримується із оберненого коду збільшенням на 1 його молодшого розряду. Прицьомупереносіз знакового розрядуігнорується. Наприклад, додатковий код чисел -1 і -127 у 8-розрядній сітці:

Діапазон зміни машинного представлення цілих чисел для додаткового коду: -2n-1 ..-1.

Додатковий код є математичним доповненням основи q:

|X|+ [Хд] = qn+1 ,

де |Х|- абсолютне значення числа, n - кількість розрядів у представленні числа.

Відповідно додатковий код від’ємного числа Х, що зберігається в n бітах, можна визначити як 2n -|X|. По суті, додатковий код являє собою доповнення |Х| до 0: так як в n-розрядній двійковій арифметиці (двійкова запис цього числа складається з 1 і n нулів, а в n-розрядну комірку поміщаються тільки n молодших розрядів, тобто n нулів), то вірною є рівність 2n –|X|+|X|= 0. Наприклад, при k = 8

доп (+1) = 1 = 000000012 ;

доп (–127) = 28 - |-127|= 256 –127 = 12910 = 100000012 ;

доп (–1) = 28 - |-1|= 256 –1 = 25510 = 111111112.

Можна перевіритиправильність, склавшидодатковийкодзсамим числом: результатповинен бутирівним 2n.

Таким чином, усистемі двійкових чисел зі знаком замінадодатньогочисла на рівне йому по модулювід’ємне і навпаки,від’ємного - надодатнє, здійснюється застосуванням до коду даного числа операції доповнення3. Ця властивість представлення від’ємних чисел у додаткових кодах дозволяє при виконанні арифметичних операцій взагалі відмовитися від операції віднімання, замінивши її операцією додавання з числом, що має знак, протилежний знаку від'ємника.

Саме так і виконуються арифметичні операції над числами електронними пристроями комп'ютера. Якби ПК обробляв прямі коди додатних і від’ємних чисел, то при виконанні арифметичних операцій слід було б виконувати ряд додаткових дій. Наприклад, при додаванні потрібно було б перевіряти знаки обох операндів і визначати знак результату: якщо знаки однакові, то обчислюється сума операндів і їй присвоюється той же знак; якщо ж знаки різні, то з більшого по абсолютній величині числа віднімається менше і результату присвоюється знак більшого числа. Тобто, при представленні чисел лише у прямому коді, операція додавання реалізується через досить складний алгоритм. Куди простіше складати числа, якщо від’ємні числа перетворені в додатковий код.

Тому додатні числа в ПК представляються за допомогою прямого коду; для представлення ж від’ємних чисел використовується додатковий код.

Зазвичай десяткові числа при введенні в машину автоматично перетворюються в двійковий код (цілі без знака), обернений або додатковий код (цілі зі знаком) і в такому вигляді зберігаються, переміщуються і беруть участь в операціях. При виведенні результатів з ЕОМ відбувається зворотне перетворення в десяткові числа.

Соседние файлы в папке Gmail