- •Теоретична довідка до пр1
- •Переведення числа з десяткової системи числення в двійкову
- •Переведення числа з двійкової системи числення в десяткову
- •Вісімкова та шістнадцяткова системи числення
- •Двійкова алгебра. Форми представлення чисел в пк
- •Основні властивості додаткових кодів:
- •Представлення цілих і дійсних чисел
- •Системи кодування ascii, Windows 1251, Unicode та інші. Кодування символьної інформації
- •Універсальна система кодування текстових даних unicode
- •Кодування графічної інформації
- •Кодування звукової інформації
Двійкова алгебра. Форми представлення чисел в пк
В пам’яті ПК двійкові числа зберігаються в регістрах, що складаються з 8 комірок, тобто мінімальне двійкове число, яке можна розмістити в пам’яті, повинно бути восьмирозрядним. При цьому в незаповнених комірках регістра (в старших розрядах) записуються нулі.
На відміну від десяткової системи в двійковій системі числення відсутні спеціальні символи, що позначають знак числа: додатній (+) або від’ємний (-), тому для представлення двійкових від’ємних чисел використовуються наступні дві форми.
Форма числа зі знаком— старший (лівий) розряд позначається якзнаковий і містить інформацію тільки про знак числа:
1 — число від’ємне;
0 — число додатне.
Решта розрядів відводиться під абсолютну величину числа. Наприклад:
510= 000001012 та -510= 1000 01012.
Форма оберненого додаткового коду, перетворення в яку виконуєтьсяза таким алгоритмом:
записати число у формі числа зі знаком;
інвертувати всі розряди числа, крім знакового розряду;
додати одиницю до одержаного коду;
відновити одиницю в знаковому розряді. Перетворення числа
-510=10000101 →1111010 + 1→111 1011→1111 10112.
Арифметико – логічний пристрій комп’ютера виконується так, щоб від’ємні числа були представлені в додатковому коді, оскільки це дає істотну економію часу при виконанні з нимиарифметичних операцій.
Основні властивості додаткових кодів:
Додатковий код додатнього числа — саме число.
Перетворення додаткового коду по наведеному алгоритмуперетворення приводить до первинного виду числа в знаковій формі.
Правила виконання арифметичних операцій в двійковій системі числення
Додавання. Операція додавання виконується так само, як і в десятковійсистемі. Переповнення розряду приводить до появи одиниці в наступному (вищому) розряді. Слід пам’ятати, що 0+0=0, 0+1=1, 1+1=10. Тоді:
Віднімання. Оскільки більшість сучасних комп’ютерів має тільки один апаратний суматор, за допомогою якогореалізуються всі арифметичні операції, віднімання зводиться до додавання від’ємного числа.
Алгоритм операції віднімання шляхом додавання додаткових кодів:
1) перетворити від’ємне число з форми зі знаком в додатковий код;
виконати операцію двійкового складання над всіма розрядами, включаючи знаковий, ігноруючи одиницю перенесення з найвищого розряду;
при рівності одиниці знакового розряду суми, що означає отримання від’ємного результату у формі додаткового коду, необхідно перетворити результат в знакову форму. Наприклад:
13-15=13+(-15)
-1510=10001111→1110000+1→1110001→ 11100012
1310=000011012
11111110→0000001+1→100000102= -2 .
Таким чином, при виконанні операцій додавання і віднімання арифметико-логічному пристрою процесора доводиться виконувати порозрядне складання з перенесенням, інвертування і перевіркуна знак двійкових чисел.
У тих випадках, коли необхідно виконати арифметичні дії над числами, більшими за 127, вони розміщуються вже не в одному, а в двох і більше регістрах.
Множення. Якщо разом з перерахованими операціями виконатиоперації зсуву, то за допомогою суматора можна виконати і множення, яке зводиться до серії повторних додавань. Якщо цифра в нульовій позиції множника дорівнює 1, то множене переписується під відповідними розрядами, множення на подальшіодиниці приводять до зсуву доданку вліво на одну позицію. Якщо цифра множника дорівнює 0, то наступний доданок зміщується на дві позиції вліво. Це характерно і для десяткової системи числення. Наприклад:
1510.1310=19510=110000112.
Врахуємо, що 1510=000011112, а1310=000011012.
Т
х
00001111
00001101
00001111
+00001111
___+00001111_____
00011000011
Д
000110000111111 +11110001
1101
00010010
+
11110001
00001111
+
11110001
00000000
Ділене 111 на третьому кроці після додавання і знесення чергового розряду менше дільника, тому записуємо в результат 0 і зносимо ще один розряд з тих, що залишилися в діленому. Після третього кроку результат додавання дорівнює 0,діленнязавершено.
Відповідь: 000011012= 1310.