Методически указания аритметика и основите на компютърните системи
2. Основи за компютърна аритметика с двоични числа.
Всякаква информация (номера, команди, регистри и др. Н.), могат да бъдат представени в компютъра като двоичен код на фиксирана или променлива дължина. Отделните елементи на двоичен код, имащ стойност 0 или 1, по-долу битове или битове. Двоичен код, състоящ се от 8 бита се нарича байт. За да записвате номера се използват и 32 формат на предаване (машина дума), 16-битов формат (половин дума) или 64-битов формат (двойна дума).
Компютрите с цел опростяване на аритметични операции с помощта на специални кодове за представяне на числа. Използване на кода ни позволява да се намали действието на изваждане на числа в аритметични добавяне на кодекси на тези номера. Нанесете директно, обратно и допълнителни кодови номера. Директен код, използван за представяне на отрицателни числа в паметта на компютъра, както и умножение и деление. Обратните и допълнителни кодове се използват за заместване на допълнение изваждане операция, която опростява изчислително устройство компютърен модул. За кодове, представени от следните изисквания:
1) цифри от кода са здраво свързани с определена битова мрежа.
2) се дава фиксирана, добре дефинирана освобождаване от отговорност за запис марка код битова мрежа.
Например, ако за база представителство взето един байт код, а след това 7 бита и ни най-малко за код запис марки ще бъдат назначени да представляват броя.
Директен код. Директен код на двоично число е същото и в записа на изображението на числата. Стойността на знаков бит за положителните числа е равна на 0 и 1 за отрицателните числа.
Знак малко обикновено е изключителна отговорност във разряд решетка. След това, когато знак битов код за запис от цифровите съгласен разделени със запетая. Ако не е посочен броят на кодовите битове, предполагаме, че избрания запис един байт код.
Пример. В случаите, когато запис един байт код, определен от броя на 1101 директен код 0,0001101, за директна кодов номер -1101 1,0001101.
Обратните код. Кодът на връщане за положително число съвпада с директен код. За отрицателни числа всички цифри на номера, се заменят с обратното (от 1 до 0, 0 до 1) и знаков бит, се запаметяват в устройството.
За 1101 броя на пряк код 0.0001101; Обратните код 0,0001101.
За броя на пряк код -1101 1.0001101; Обратните код 1,1110010.
Допълнителен код. Допълнителен код положително число съвпада с директен код. За отрицателно число на допълнителен код се формира, като кодът на обратна, и добавяне на LSB единици.
2.2 Свойства на добавяне номера в обратната и допълнителни кодове.
При добавяне на номерата в произтичаща единица трансфер две се изхвърли в знаков бит.
При добавяне на обратната кодови номера, включени в модула за трансфер знаков бит се добавя към LSB код сума.
Ако резултатът от аритметика код е отрицателно число, което трябва да го конвертирате в пряк код. В този случай, кодът на връщане се превръща в един брой на подмяна във всички категории с изключение на обратен знак. Допълнителен код се превръща в директен начин, гърба, последвано от добавяне към устройството LSB.
Сгънете двоични числа X и Y в обратната и допълнителни кодове.
1) Добавяне на номера с помощта на двоични правила аритметични:
2) добавете номера с помощта на кодове:
Добавяне обратна
код
Добавяне на допълнителен
код
Тъй като в резултат на прибавяне е положително число код (марка 0), (X + Y) мод = (X + Y) вътр = (X + Y) PR.
1) Добавяне на номера с помощта на двоични правила аритметични:
2) добавете номера с помощта на кодове:
Добавяне обратна
код
Добавяне на допълнителен
код
Тъй като сумата е отрицателно кодов номер (подпишат 1), е необходимо да прехвърли резултатите директно Код:
- от кода на връщане
(X + Y) мод = 1,1110100 (X + Y) AVE = 1.0001011;
- на допълнителен код
(X + Y) DOP = 1,1110101 (X + Y) AVE = 1.0001010 + 0.0000001 = 1.0001011.
Така, X + Y = -1,011 и резултатът съвпада с обикновената записа.
2.3 Променено обратно и допълнителни кодове.
Когато възникне трансфер освобождаване преливане мрежа единица в сондажната знак. Това води до неточни резултати, положителният брой Получената в резултат аритметична операция може да се тълкува като отрицателен (от "1" в сондажната знак), и обратно.
Когато X и Y - кодекси за положителни числа, но компютърът получава в резултат на добавянето на отрицателно число като код ( "1" в знаков бит). За откриване на кодовете мрежа изпускателните преливане въведени модифициран.
В модифициран заден ход и промени в рамките на допълнителни кодове, възложени редица подпише не една, а две парчета: "00" съответства на знак "+", "11" - "-" знак. Всяка друга комбинация ( "01" или "10"), е получил в знаков бит е знак малко преливане решетка. Добавянето на номера в модифицираните кодове не се различава от конвенционалните допълнение обратно и допълнителни кодове.
Помислете предишния пример, чрез извършване на добавянето в модифициран обратен код:
Комбинацията от "01" в знаков бит означава, че е настъпило преливане и да получите резултат - погрешно.
Помислете още един пример.
Пример. Като се има предвид две числа: X = 101 001 и Y = -11,010. Сложете ги в модифициран допълнителен код.
1) превежда в X и Y модифициран допълнителен код: