Цифрові способи зображення (передавання) інформації. Системи числення
Система числення - це сукупність правил і символів для зображення і запису чисел. Залежно від кількості символів, які складають основу системи, розрізняють різні системи числення. В ЕОМ найбільшого поширення набула двійкова система числення, основою якої є число 2, тобто її числа утворюють лише два символи — 0 і l. Комп̕ ютер виконує дії над операціями зображеними двійковими числами. Адреси комірок пам'яті, де знаходяться ці операнди, записують вісімковими або (частіше) шістнадцятковими числами. Основою вісімкової системи є число 8 (0... 7), а основою шістнадцяткової системи є число 16 (0...9, А, В, С, Д, Е, F). Для переводу десяткових чисел у будь-яку систему потрібно послідовно ділити десяткове число на основу системи, в яку переводять (записуючи частки лише цілими числами) до тих пір, аж поки не отримають частку, меншу за основу системи, в яку це число переводять. Щоб отримати нове число, потрібно записати всі проміжні остачі, починаючи із останньої частки. Щоб перевести число із будь якої системи в десяткове потрібно додати ваги розрядів цього числа, вагу (вартість) розряду визначають із виразу aі· qn-1, де aі - число і-того розряду, q — основа системи із якої переводять, n - кількість розрядів перевідного числа. Всі системи числення поділяють на позиційні і непозиційні. Прикладом непозиційної може бути римська система. У позиційних системах будь-яке число зображують послідовністю цифр у числі. Кількість цифр (символів), яка використовується в позиційній системі числення, називається основою системи. Позиція цифри в числі називається розрядом. Для оцінки кількісного значення кожного розряду числа будь-якої системи використовується основа системи, яка вказує в скільки разів одиниця і +1 розряду більша від одиниці і попереднього (молодшого) розряду
де к - основа системи; а - цифра розряду; n - кількість розрядів числа. Наприклад, число 123 десяткової системи можна записати так: Це відноситься і до будь-якої системи числення. В обчислювальній техніці в основному використовуються три системи числення: двійкова, вісімкова. шістнадцяткова. Двійкова система числення. Широке використання цієї системи в ЕОМ пояснюється наступним: • різноманітністю і простотою технічної реалізації елементів з • добре розрізняються ці два стани, що зменшує спотворення • простотою виконання математичних операцій: • економічністю обладнання; • можливістю використання апарату алгебри логіки для аналізу Недоліком двійкової системи є її громіздкість, а також необхідність переводити двійкові числа в зручні для людини десяткові та навпаки. Але враховуючи ту обставину, що більшість математичних задач потребує порівняно невеликої кількості вихідних даних, у порівнянні з об'ємом обчислень, цей недолік можна вважати несуттєвим. Основою двійкової системи числення є число 2. Тобто будь-які числа цієї системи зображуються послідовністю лише двох цифр 0 і 1. При цьому кожен старший розряд більший за попередній в два рази. Наприклад, двійкове число 1101101 можна записати так: Як і в десятковій системі розряди двійкового числа мають назву: одиниці, двійки, четвірки тощо. Наприклад: 32 16 8 4 2 1 - назви розрядів. 1 1 1 0 1 1 - двійкове число. Зверху над двійковим числом поставлені назви розрядів, тобто їх вага. Одиниця на п'ятій позиції означає, що вага цієї одиниці дорівнює 16, тобто одиниця п"ятого розряду містить у собі 16 простих одиниць (одиниць крайнього правого, наймолодшого розряду). Вагу одиниці кожного розряду можна отримати з (1), як а·2n-1. Надалі, щоб показати в якій системі числення число записане, будемо в кінці числа ставити латинські літери: В - для двійкової: Д - для десяткової; Q - для вісімкової; Н — для шістнадцяткової.
Двійкова система використовується в ЕОМ для запису і зберігання інформації: команд, операндів та ін., тобто програм. Тому десяткові числа потрібно уміти записувати в двійковій формі. Щоб перевести десяткове число у двійкове, потрібно послідовно ділити десяткове число на основу двійкової системи - число 2, доти, поки остання частка не стане меншою за основу, тобто число 2. У частку потрібно записувати тільки ціле число. Наприклад, 347Д = ХВ? Цей запис означає, що десяткове число 347 потрібно перевести у двійкове записуємо проміжні остачі, починаючи з1), як а • 2""'. Надалі, щоб показати в якій системі числення число записане, будемо в кінці числа ставити латинські літери: В - для двійкової: Д - для десяткової; Q - для вісімкової; Н — для шістнадцяткової. Двійкова система використовується в ЕОМ для запису і зберігання інформації: команд, операндів та ін., тобто програм. Тому десяткові числа потрібно уміти записувати в двійковій формі. Щоб перевести десяткове число у двійкове, потрібно послідовно ділити десяткове число на основу двійкової системи - число 2, доти, поки остання частка не стане меншою за основу, тобто число 2. У частку потрібно записувати тільки ціле число. Наприклад, 347Д = ХВ? Цей запис означає, що десяткове число 347 потрібно перевести у двійкове записуємо проміжні остачі, починаючи з останньої частки, як показано стрілкою. Ця остання частка буде найстаршим розрядом: 347Д = 101011011В. Звідси видно недолік двійкової системи: її громіздкість. Десяткове 347 трьохзначне, а двійкове 101011011 дееятирозрядне. Для переведення двійкового числа в десяткове потрібно додати ваги тих розрядів двійкового числа, в яких стоять одиниці. Наприклад: 101011011В = ХД. Зауважимо, що операцію віднімання двійкових чисел можна замінити операцією додавання. Для цього від'ємник зображують у доповнюючому коді, який отримують з оберненого коду шляхом додавання одиниці до молодшого розряду: 11011 - 111. Додаємо до від'ємника попереду числа два нулі, щоб зрівняти кількість розрядів: 00111, а потім отримуємо обернений код шляхом 'Іміни нулів одиницями і одиниць нулями: 11000 - обернений код. Щоб отримати доповнюючий код числа, додаємо до меншого розряду оберненого коду одиницю 11000 11000 + 1 = 11001 - доповнюючий код.
Виконуємо додавання: 11011 (27) 11001 (7) 110100 (20) відкидається одиниця старшого розряду, якщо отримане число позитивне.
Якщо сума позитивне число, то відкидаємо одиницю переносу старшого розряду і отримуємо результат 10100. Якщо різниця число негативне (біт сташого розряду рівний 1), то результат отримано в доповнюючому коді. Для визначення абсолютного значення негативного числа необхідно виконати операцію знаходження доповнюючого коду: 111 (7) - 11011 (27) = 10100 (-20).
1. Визначаємо доповнюючий код числа 27:
11011 - прямий код числа 27, 00100 - обернений код числа 27, 00001 - доповнююча одиниця, 00101 - доповнюючий код числа 27. 2. Обчислюємо різницю: 00111 - (7), 00100 - доповнюючий код числа 27, 01100 - різниця у формі доповнення, бо у старшому розряді 1, - старший розряд знаковий. З. Визначаємо абсолютне значення різниці: 01100 - доповнюючий код різниці, 10011 - обернений код різниці, 00001 - одиниця доповнення, 10100 (20) - результат віднімання. Множення чисел: При множенні користуються тим же правилом, що і в десятковій системі: . 101 (5) 1010 (10) + 000 + 000 110010 (50)
Для переводу дробового десяткового числа в двійкове переводять окремо цілу частину за вищеописаним правилом, а дробову частину - окремо. Для цього дробову частину множать на основу системи (число два), у результата відкидають цілу частину, а дробову знову множать на основу до отримання необхідної кількості розрядів:
0,376Д = ХВ? . 0,376 0,376 ≈ 0,011В 2 . 0,752 2 . 1,0504 2 1,008 Результат отримали, записавши цілі частини зверху донизу.
Вісімкова система. Вісімкова система забезпечує більш компактну форму запису чисел ніж двійкова, тому широко використовується в ЕОМ. Основою цієї системи є число вісім, тобто в ній використовуються наступні символи 0, 1,2, 3, 4, 5, 6. 7. Якщо 8 = 23, то вісімкову систему називають двійково-кодованою: кожне число вісімкової системи можна представити трьохрозрядним двійковим (від 000 до 111), тобто цінною особливістю вісімкової системи є водночас простота переводу чисел з двійкової системи в вісімкову і навпаки.
Для переводу вісімкового числа в двійкове необхідно кожну вісімкову цифру замінити його трьохрозрядним двійковим еквівалентом:
235Q = ХВ? 2 - 010, 3 - 011, 5 - 101, отже 235Q = 010011101В відкидають. Для переводу двійкового числа в вісімкове розбивають двійкове число на тріади (групи по три розряди) в обидві сторони від коми. За необхідності добавляють нулі на початку і в кінці числа, а потім кожну тріаду замінюють еквівалентною вісімковою цифрою. Наприклад, 1110110101В = XQ? 1. Розбиваємо двійкове число на тріади: 001. 110. 110. 101. 2. Замінюємо кожну тріаду вісімковою цифрою: 001 = 1; 110 = 6; Для переводу десяткового числа у вісімкове ділять десяткове число послідовно на вісім, аж поки остання частка не стане меншою за вісім. Проміжні остачі записують, починаючи з останньої частки, яка є старшим розрядом вісімкового числа: 89Д = XQ? 89 8 88 11 8 1 8 1
отже, 89Д = 131Q. Для зворотного переведення необхідно додати ваги розрядів вісімкового числа: 131Q = ХД? 1 · 82 + 3 · 81 + 1 · 80 = 64 + 24 + 1 = 89. Отже, 131Q = 89Д, тобто вага розряду визначається згідно з (1) як а · 8n-1. Додавання у вісімковій системі здійснюється за тими ж правилами, що і в десятковій системі: 11 перенос, 246Q 57Q 6 + 7 = 13Д, яке переводиться в вісімкове, 325Q
13 8 8 1
Отже, 13Д = 15Q, п'ятірку записуємо в даний розряд, а одиницю переносимо в старший 1+4 + 5=10 Д, яке переводимо у вісімкове: 10 8 8 1 Отже, 10Д = 12 Q. Два записуємо в даний розряд, а одиницю переносимо в старший розряд тощо. Множення вісімкових чисел здійснюється за тими же правилами, що і в десятковій системі: 22 перенос 67 Q 13 Q 245 67 1135 7 - 3 = 21В, яке переводимо у вісімкове 21 8 16 2 Отже, 21Д = 25Q. П'ятірку записуємо в даний розряд, а двійку переносимо в старший розряд 6 · 3 = 18 + 2 = 20Д, яке переводимо у вісімкове 20 8 16 2 Отже, 20Д = 24Q. Чотири записуємо в даний розряд, а два переносимо в старший розряд тощо. Отже, 67Q· 13Q = 1135Q. Шістнадцяткова система числення. Використовується в ЕОМ (комп'ютерах) для кодування адрес комірок пам'яті запам'ятовуючих пристроїв. Справа в тому, що для кодування комірок пам'яті необхідно 16 розрядів двійкового числа і при складанні програми, яка містить номери (коди) комірок пам'яті, не важко зробити помилку, тому кодують комірки пам'яті шістнадцятковими числами. Так як 16 = 24, то для кодування комірок пам'яті потрібно лише чотири розряди шістнадцяткового числа.
Шістнадцяткова система має основою 16 символів - це десять чисел від 0 до 9 і шість букв латинського алфавіту: 10 - А, 11- В, 12 – С, 1З - Д, 14 - Е, 15 - F. Таким чином, шістнадцяткові числа зображують послідовністю цифр і латинських букв. Кожна буква чи цифра старшого розряду в 16 разів більша за цифру чи букву попереднього, старшого розряду. Шіснадцяткова система, так само як і вісімкова - двійково-кодована, тобто перевід шістнадцяткових чисел у двійкові і навпаки здійснюється простою заміною символів однієї системи, символами іншої. Для переводу шістнадцяткового числа у двійкове кожен шістнадцятковийсимвол замінюють чотирьохрозрядним двійковим аналогом. 6B9FH - ХВ? 6Н = 0110В, ВН (11Д) = 1011В, 9Н = 1001В, FН(15Д) = 1111В, отже, 6ВДFН = 0110101110011111В відкидають. Для переводу двійкового числа в шістнадцяткове розбивають двійкове число на тетради (групи по чотири двійкових розряди) в обидві сторони від коми. За потреби дописують зліва і справа нулі: 110111100010111,10101101В = ХН? Розбиваємо цілу частину на тетради від коми вліво, а дробову дописуємо, щоб утворилась тетрада. Замінюємо кожну тетраду шістнадцятковим аналогом: 0110В = 6Н, 1111В = FH, 0001В = 1Н, 0111Н = 7Н, 1010В = АН, 1101В = ДН. Oтже, 110111100010111,10101101В = 6F17,АДН. Для переводу десяткового числа у шістнадцяткове потрібно послідовно ділити десяткове число на основу шістнадцяткової системи (число 16) доти, аж поки не отримаємо частку меншу за 16: 739Д = ЧН? 739 16 736 46 16 3 32 2 14
Отже, 739Д = 2ЕЗН. Для переводу шістнадцяткового числа в десяткове потрібно додати ваги розрядів шістнадцяткового числа: 2ЕЗН = ХД.
2 · I62 + 14 · 161 + 3 · 160 = 512 + 224 + 3 = 739, отже, 2ЕЗН + 739Д. Вагу розряду шістнадцяткового числа визначаємо з (1) як a · 16n-1. Додавання в шістнадцятковій системі здійснюється за тими правилами, що і в десятковій 5A9FH + ЗFДН; 15 + 13 = 28Д переводимо в шістнадцяткове
28 16 16 1
Отже, 28Д = 1СН. С записуємо в цей розряд, а 1 переносимо в наступний. 11 перенос. 5A9F 5Е9С 9Н = 9Д; FH = 15Д; 9 + 15 + 1 переносу = 25Д 25Д переводимо в шістнадцяткове 25 16 16 1 Отже, 25Д= 19Н. Дев'ять записуємо в цей розряд, а 1 переносимо в старший розряд тощо. АН = 10Д, 10 +3 = 14Д, 14Д = EH, тому 5A9FH + ЗFДН = 5Е9СН. Множення в шістнадцятковій системі здійснюється за тими правилами, що і в десятковій системі. 7ДВН · 7АН ВН=11Д, АН = 10Д, тому 11·10=110Д, яке переводимо у шістнадцяткове 110 16 96 1 Отже, 110Д = 6ЕН, таке як 14Д = ЕН. Е записуємо в даний розряд, а 6 переносимо в старший розряд. АН =10Д, ДН = 13Д, тому 10 ·13 = 130 + 6 переносу = 136Д, яке переводимо в шістнадцяткове 136 16 128 8 8 Отже, 136Д = 88Н. 8 молодшого розряду записуємо в даний розряд, а 8 старшого розряду переносимо у старший (третій) розряд тощо. Тому 7ДВН · 7АН = ЗВЕ5ЕН 354 перенос 2 486 перенос 1 7ДВ х 7А 4Е8Е 36FД 3BE5E Віднімання у шістнадцятковій системі здійснюється за тими правилами, що і в десятковій, але потрібно пам'ятати, що позичаємо із старшого розряду число 16, яке потрібно скласти з одиницею молодшого розряду і лише після цього виконувати віднімання 5Д4Н - ЗЕ7Н. Позичаємо з третього розряду 16 і складаємо з 4: 16 + 4 = 20Д - 7Д = ДН. У старшому (другому) розряді залишилось уже не ДН, а СН, тому позичивши із третього розряду 16 додаємо його до С: 16Д + 12Д = 28Д від якого віднімаємо ЕН: 28Д - 14Д = 14Д = ЕН. У третьому розряді зменшуваного замість 5Н залишилось 4Н, тому 4Н - 3Н = 1Н, отже, 5Д4Н- ЗЕ7H = 1ЕДН. У правильності виконання операції віднімання можна переконатись, додавши різницю і від'ємник: 3E7H 1EДH 5Д4H
Читайте также: А) Поліпшення системи зворотного зв’язку. Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|