Значення відємних степенів по основі числа 2
m |
2m |
1 |
0,5 • |
2 |
0,25 |
3 |
0,125 |
4 |
0,0625 |
5 |
0,03125 |
6 |
0,015625 |
7 |
0,0078125 і т.д. |
Приклад
Перевести в десяткове представлення дріб у шістнадцятеричній системі числення 1df2,a1e4.
Знову використовується формула
і одержимо:
1df2,a1e4=l*163+13*162+15*21+2*160 + 10*16-1+1*16-2+14*16-3+4*16-4.
Для зручності обчислення дробової частини приведемо значення відємних степенів числа 16
Таблиця
Значення відємних ступенів по основі числа 16
m |
16-m |
1 |
0,0625 |
2 |
0,00390625 |
3 |
0,000244140625 |
4 |
0,0000152587890625 |
5 |
0,00000095367431640625 |
6 |
0,000000059604644775390625 |
7 |
0,0000000037252902984619140625 |
Переведення з двійкової системи числення в шістнадцятеричну систему і назад виконується на основі тетрад.
Розглянемо представлення десяткових дробів у двійковій і шістнадцатеричній системах числення.
Загальний алгоритм перекладу десяткового дробу в іншу систему числення можна представити наступною послідовністю кроків:
1. Виділити цілу частин десяткового дробу і виконати її переведення в обрану систему числення по алгоритмах, розглянутих вище.
2. Виділити дробну частину і помножити її на основу обраної нової системи числення.
3. В отриманій після множення дробної частини десяткового дробу виділити цілу частину і прийняти її як значення першого після коми розряду числа в новій системі числення.
4. Якщо значення дробової частини , після множення, дорівнює нулю, то припинити процес переведення. Процес переведення можна припинити також у випадку, якщо досягнута необхідна точність обчислення.
Приклад
Перевести в війкову систему числення десятковий дріб 108,406
1.
Переведемо цілу частину десяткового
дробу 108,406. В двійкову систему числення.
2. Переведемо дробову частину десяткового числа 108,406 по алгоритму, приведеному вище.
Результат переведення наступний: 108,406=1101100,011001111.
П
ри
переведені дробового числа з десяткової
системи числення в шістнадцятеричну
доцільно попередньо перевести число в
двійкову систему. Потім двійкове
представлення розбити на тетради окремо
до коми і після коми. Розбивку на тетради
двійкових розрядів цілої частини роблять
від коми убік старших розрядів. Неповну
старшу тетраду доповнюють ліворуч
нулями.
Розряди дробової частини, навпаки, розбивають на тетради від коми вправо до молодших розрядів. Якщо остання тетрада неповна, то її доповнюють праворуч нулями. На мал показаний процес переведення дробового десяткового числа в еквівалентне шістнадцятеричне представлення.
Числа із знаком
Відмітною ознакою числа зі знаком є особливе трактування старшого біта поля, що представляє число. У якості поля можуть виступати байт, слово чи подвійне слово. Природно, що фізично цей біт нічим не відрізняється від інших, — все залежить від команди, що працює з даним полем. Якщо в її алгоритмі закладена робота з цілими числами із знаком, то вона буде по-особливому трактувати старший біт поля. У випадку якщо біт дорівнює 0, число вважається додатним і його значенням обчислюється за правилами, що розглянуто вище. У випадку якщо цей біт дорівнює 1, число вважається відємним і передбачається, що воно записано в додатковому коді.
Додатковий код деякого відємного числа являє собою результат інвертування (заміни 1 на 0 і навпаки) кожного біта двійкового числа, рівного модулю вихідного відємного числа плюс одиниця. Наприклад, розглянемо десяткове число -185. Модуль даного числа в двійковому представленні дорівнює 10 111 001. Спочатку потрібно доповнити це значення ліворуч нулями до потрібної розмірності — байта, слова і т.д. У нашому випадку доповнити потрібно до слова, тому що діапазон представлення знакових чисел у байті складає -128...127. Наступне дія — одержати двійкове доповнення. Для цього всі розряди двійкового числа потрібно інвертувати:
0000000010111001-> 1111111101000110. Тепер додаємо одиницю: 1111111101000110 + 0000000000000001= 1111111101000111.
Результат перетворення дорівнює 1111111101000111. Так представляється число -185 у комп'ютері.
Для того щоб виконати зворотну дію, тобто маючи двійкове доповнення числа, визначити значення його модуля необхідно виконати дві дії:
1. Виконати інвертування бітів двійкового доповнення.
2. До отриманого двійкового числа додати двійкову одиницю.
Наприклад, визначити модуль двійкового представлення числа
-185 = 1111111101000111:
1111111101000111 -> інвертуємо біти -> 0000000010111000.
Додаємо двійкову одиницю:
0000000010111000+ 0000000000000001= 0000 0000 1011 1001= |-185|.
