Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2Лекціясист числ.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
75.26 Кб
Скачать

Лекція 2.

Системи числення .Кодування інформації в ЕОМ

Будь-яке ненегативне число в позиційній системі числення (СС) може бути представлене у вигляді:

  D = Cn-1*bn-1 + Cn-2*bn-2 + ... + C1*b1 + C0*b0 + C-1*b-1 + C-2*b-2 +.., 

де D - десятковий еквівалент числа, Ci - значення i-го розряду, b - підстава системи счисления,b в ступені i - вага i-го розряду і n число розрядів цілої частини числа. У обчислювальній техніці найбільш поширені: двійкова (BIN), десяткова (DEC), шістнадцяткова (HEX) і непозиційна двійково-десяткова (BCD) системи числення. У BCD системі вага кожного розряду рівна ступені 10, як в десятковій системі, а кожна цифра i-го розряду кодується 4-мя двійковими цифрами. Вісімкова СС (OCT) застосовується рідше. Перші 16 чисел представлено в таблиці 1.

Двійкове число 10010011 = 1 * 2^7 + 1 * 2^4 + 1 * 2^1 + 1 * 2^0 = 147 (DEC). Для перекладу числа з двійкової системи в 16 - ную, його необхідно розбити починаючи справа на групи по 4 двійкових цифри і кожну групу представити 16 - ний цифрою з таблиці. Для зворотного перекладу кожна HEX цифра замінюється четвіркою двійкових, незначущі нулі зліва отб- расываются. Двійково-десяткове число можна записувати і десятковими цифрами, наприклад 1997, і двійковими - 0001 1001 1001 0111. Кожне десяткове число можна представити у вигляді BCD, наприклад 19(DEC)= 19(BCD), але їх двійкові уявлення не рівні: 19(DEC)= 10011(BIN), а 19(BCD)= 1 1001(BIN). Не кожен запис з нулів і одиниць має двійково-десятковий еквівалент. Наприклад, 11001001(BIN) = ?(BCD) = C9(HEX)= 201(DEC), оскільки десяткової цифри 12 = 1100 несуществует!

Машинне представлення інформації

Мікропроцесори обробляють впорядковані двійкові набори. Мінімальною одиницею інформації є один біт.

     

Далі слідують - тетрада (4 бита), байт ( byte 8 битий), подвійне слово (DoubleWord 16 битий) або довге (LongWord 16 битий) і збільшене учетверо слова. Молодший біт зазвичай займає крайню праву позицію.

Числа з фіксованою крапкою

Такі числа можуть бути як цілими, так і дробами. Крапка в думках фіксується поряд з будь-яким розрядом. Якщо вона розташовується праворуч від молодшого біта, то число ціле, якщо зліва від старшого - число дріб. Далі розглядатимуться тільки цілі числа з фіксованою крапкою, для нецілих чисел частіше застосовується показова форма, про яку піде мова далі.

Природним представленням цілого ненегативного числа є двійкова система числення. Кодування негативних чисел проводиться трьома найбільш споживаними способами, в кожному з яких крайній лівий біт - знаковий. Негативному числу відповідає одиничний біт, а позитивному - нульовий. Кожен спосіб оцінюється за швидкістю і витратам на виконання складання і зміни знаку числа, оскільки віднімання є складання із зміненим знаком одного операнда.

  • 1.Прямий код. Зміна знаку проводиться просто, шляхом інверсії біта знаку. Хай 00001001 = 9, тоді 10001001 = -9. Якщо при складанні двох чисел в цьому коді знаки співпадають, то труднощів немає. Якщо знаки розрізняються необхідно знайти найбільше число, відняти з нього менше, а результату привласнити знак найбільшого доданку.

  • 2.Обернений код, інверсний або додатковий "до 1". Зміна знаку проводиться просто - інверсією всіх біт: 00001001 = 9, а 11110110 = -9. Складання також виконується просто, оскільки знакові біти можна складати. При перенесенні одиниці з лівого (старшого) біта, вона повинна складатися з правим (молодшим). Наприклад: 7 + (-5) = 2.

00000111 = 7

11111010 =-5 (інверсія 00000101 = 5)

1 00000001

1

00000010 = 2

Складання в зворотному коді відбувається швидше, оскільки не потрібне ухвалення рішення, як у попередньому випадку. Проте підсумовування біта перенесення вимагає додаткових дій. Іншим недоліком цієї коди є представлення нуля двома способами, оскільки інверсія 0...00 рівна 1. ..11 і сума два разных по знаку, але рівних за значенням чисел дає 1...11.Например: (00001001 = 9) + (11110110 = -9) = 11111111. До речі, з цього прикладу зрозуміло чому код називається додатковим "до 1". Цих недоліків позбавлений ---

  • 3.Додатковий або додатковий "до 2" код. Число з протилежним знаком знаходиться інверсією початкового і додаванням до результату одиниці. Наприклад, знайти код числа -9.

00001001 = 9 11110111 =-9

11110110 - інверсія 00001000 - інверсія

1 1

11110111 =-9 00001001 = 9

Проблеми двох нулів немає. +0 = 00000000 -0 = 11111111 + 1 = 00000000 (перенесення із старшого біта не враховується) .Додавання проводиться по звичайних для ненегативних чисел правилах.

00001001 = 9

11110111 =-9

1 00000000

З цього прикладу видно, що в кожному розряді двох рівних по модулю чисел складаються дві одиниці, що і визначило назву способу. Цей метод застосовується найчастіше, і коли говорять про додатковий код, то мається на увазі додатковий "до 2-х" код.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]