негативних чисел ці області будуть відрізнятися.
У прямому коді нуль має два значення: позитивне 0,000 .. 0 і негативне 1,000 ... 0. Зазвичай в ЕОМ використовується позитивний нуль, але в процесі обчислень може виникнути і його негативне зображення. Обидва зображення повністю еквівалентні і застосування будь-якого з них не призводить до помилки. p> Приклад запису числа в прямому коді:
А = +0,101011 А пр = 0,101011;
В = -0,110011 У пр = 1,110011.
В
1.1.2 Додавання в прямому коді
Правила додавання чисел в прямому коді не відрізняються від звичайних правил складання, тобто якщо обидва доданків мають однакові знаки, то їх числові розряди складаються, а сумі присвоюється знак одного з них. Якщо доданки мають різні знаки, то з числових розрядів більшого по абсолютній величині числа віднімається менша, а сумі приписується знак більшого з доданків. При цьому числові розряди коду обробляються окремо від знакових, так як останні не мають ваги. p> Розглянемо можливі 4 випадки отримання суми чисел в прямому коді.
1) А > 0, В > 0, З > 0. p> А = +0,101001 В = +0,000101
А пр = 0,101001 У пр = 0,000101 З пр = А + В
+ 0,101001
0,000101
0,101110
2) А > 0, В <0, З > 0.
А = +0,101001 В = -0,000101
А пр = 0,101001 У пр = 1,000101 З пр = А-| У |
- 0,101001
1,000101
0,100100
3) А <0, В > 0, С <0.
А = -0,101001 У = +0,000101
А пр = 1,101001 У пр = 0,000101 З пр = 1 + (| А | - | В |)
- 0,101001
0,000101
0,100100 З пр = 1 +0,100100 = 1,100100
4) А <0, В <0, С <0.
А = -0,101001 У = -0,000101
А пр = 1,101001 У пр = 1,000101 З пр = 1 + | А | + | В | p>
+ 0,101001
0,000101
0,101110 З пр = 1 + 0,101110 = 1,101110
Таким чином, у прямому коді знаковий розряд і цифрову частину не можна розглядати як єдине ціле. Крім того, необхідно окрім суматора мати і вичітатель. У результаті цього прямий коду не застосовується для виконання операції алгебраїчного складання, але застосовується для виконання операцій множення і ділення.
1.1.3 Додатковий код
У додатковому коді операція віднімання замінюється операцією алгебраїчного додавання. При цьому знаковий розряд і цифрова частина розглядаються як єдине ціле. p> Розглянемо особливості перетворення в додатковий код. Негативне число замінюється деяким допоміжним позитивним числом, причому:
В
При цьому для дробових негативних чисел завжди має місце: | А | + | [A] Д | = 1
Геометрична інтерпретація додаткового коду правильного дробу при р = 2 представлена ​​на рис. 1.1. br/>
-1 А <0 A> 0 +1 +2
A> 0 A <0 Область зображень
Малюнок 1.1- Геометрична інтерпретація додаткового коду
З ростом абсолютної величини додатковий код позитивного числа зростає, а негативного - убуває.
З огляду на те, що область чисел і область зображень рівні по довжині модуля р = 2, між числами та їх зображеннями має місце однозначна відповідність. При цьому область позитивних чисел збігається з областю зображень. Тому зображення позитивних двійкових дробів не відрізняються від їх звичайної двійковій запису, а для зображення правильної негативною дробу до неї треба додати модуль 2, за яким порівнюється число з його зображенням, тобто отримати доповнення до двох.
Додатковий код позитивного числа збігається з його поданням в прямому коді. p> Правило перетворення негативного числа з прямого коду в додатковий:
Для перетворення прямого коду негативного числа в додатковий необхідно все значущі розряди замінити на протилежні (проінвертіровать) і додати 1 до молодшого розрядом. Знаковий розряд залишається без зміни. br/>
[A] пр = 0,10110100; [A] дк = 0,10110100;
[Г‚] пр = 1,10111101; [В] дк = 1,01000011.
1.1.4 Алгебраїчне додавання в додатковому коді
У додатковому коді операція віднімання замінюється операцією алгебраїчного додавання. При цьому знаковий розряд і цифрова частина числа розглядаються як єдине ціле, в внаслідок чого з негативними числами машина оперує як з неправильними дробами. Правильний знак суми виходить автоматично в процесі складання вмісту знакових розрядів операндів і одиниці переносу зі цифрової частини, якщо вона є.
Розглянемо всі можливі варіанти додавання чисел в додатковому коді:
1) А> 0, В> 0, С> 0.
А = +0,101101 В = +0,000111
А пр ...