На головну

Як можна виконати переклад з однієї системи числення в іншу

  1. C-білки системи комплементу
  2. E) Порівняння стратегій з фіксованою часткою: ймовірність, що одна стратегія випередить іншу після n спроб.
  3. F11.2 Можливості
  4. G9.4 Оціночні місії з розвитку можливостей ПСО
  5. I. Можливість / неможливість побудови словосполучення
  6. I. Збір вихідної інформації
  7. II. Виконати письмово вправи

Переклад з двійкової системи в десяткову легко виконати за схемою (2).

Переклад з десяткової системи в двійкову можна виконати двома способами: 1) відніманням ступенів підстави (при цьому отримуємо послідовно виконавчі цифри, починаючи зі старшою) і 2) послідовним розподілом на підставу системи числення (тобто на 2) - при цьому залишки дають цифри двійкового числа, починаючи з молодшого розряду.

Приклад: перевести 79 в двійкову систему числення (починаємо дії праворуч). Ділимо послідовно вміст клітини верхнього ряду на 2 (основа системи числення, в яку переводимо), записуємо приватне зліва в верхню клітину, а залишок від ділення зліва в нижню клітину. Перший крок: ділимо 79 на 2, приватна 39 запишемо лівіше в верхню клітину а в клітку під приватним запишемо залишок від ділення (він може бути тільки 0 або 1).

 Приватні від розподілу на 2  Початкове число = 79
1 0 0 1 1 1 1  залишки  

Отримання на черговому кроці приватного = 0 це ознака закінчення процесу. Ланцюжок залишків дає значення числа в необхідної системі числення, в нашому прикладі - в двійковій:
1 0 0 1 1 1 1 = 1 * 26+0 * 25+0 * 24+1 * 23+1 * 22+1 * 21+1 * 20

Маленький недолік такого способу перекладу полягає в тому, що цифри виходять, починаючи з молодшого розряду, тобто в порядку, зворотному тому, в якому ми звикли записувати цифри на папері (це може бути незручно, якщо результат перекладу вимагається цифра за цифрою виводити на принтер або на екран).

Існують способи перекладу, що дозволяють отримувати цифри, починаючи зі старшого розряду. Найбільш поширений спосіб полягає в тому, що з вихідного числа віднімають ступінь системи числення і підраховують кількість вирахувань. Якщо при черговому вирахуванні виходить негативний результат, то вирахування слід зупинити, запам'ятати останню отриману різницю для отримання молодших цифр. Підрахована кількість вирахувань дає цифру в старшому розряді. Для отримання наступної (молодшої) цифри знову починаємо вираховувати з запомненной різниці ступінь підстави, але на одиницю меншу. Недолік цього алгоритму полягає в тому, що треба якось вирішити, якою має бути ступінь підстави на початку процесу.

Зауважимо, що за тими ж схемами можна здійснювати переклад з будь-якої системи в будь-яку, тільки треба вміти виконувати арифметичні дії в вихідної системі числення.

У двійковій системі числення
 10111b= (1 * 24+0 * 23+1 * 22+1 * 21+1 * 20)d= 1 * 16 + 0 * 8 + 1 * 4 + 1 * 2 + 1 * 1 = 16 + 4 + 2 + 1 = 23 (2а)

(Всі ці числа зображені в 10-чной системі).

Ступеня двійки: 1, 2, 4, 8, 16, 32, 64, 128, 256, ...
 Відмітимо, що 210 = 1024 » 103 (Кілобайт), 220 = 1048576 » 106 (Мегабайт).

Шістнадцяткова система числення - Має підставу 16. Для зображення шістнадцяти цифр використовуються 0, ... 9 і букви латинського алфавіту A (10), B (11), C (12), D (13), E (14), F (15). Див. Як приклад співвідношення (3) раніше.

Шістнадцяткова (далі hex від hexadecimal) система використовується в обчислювальній техніці в основному для компактного зображення двійкових чисел, так як одна hex-цифра однозначно відповідає Чотирирозрядний комбінації двійкових цифр. Це неважко побачити з наступних перетворень:

N = ... + 27 * b7 + 26 * b6 + 25 * b5 + 24 * b4 + 23 * b3 + 22 * b2 + 21 * b1 +20 * b0 =
 = ... + (23 * b7 + 22 * b6 + 21 * b5 + 20 * b4) * 24 + (23 * b3 + 22 * b2 + 21 * b1 +20 * b0) =
 = ... + (23 * b7 + 22 * b6 + 21 * b5 + 20 * b4) * 161 + (23 * b3 + 22 * b2 + 21 * b1 +20 * b0) * 160 =
 = ... H1 * 161 + h0 * 160

Те ж можна сказати про вісімковій системі числення, для якої одна восьмерична цифра однозначно відповідає Трехразрядное двійковому числу.

Співвідношення між Hex, Bin і десятковими числами від 0 до 1610
Hex Dec Bin
 0 00 0 0000
 1 01 0 0001
 2 02 0 0010
 3 03 0 0011
 4 04 0 0100
 5 05 0 0101
 6 06 0 0110
 7 07 0 0111
 8 08 0 1000
 9 09 0 1001
 A 10 0 1010
 B 11 0 1011
 C 12 0 1100
 D 13 0 1101
 E 14 0 1110
 F 15 0 1111

10 16 1 0000

У шестнадцатиричной
 7EAh=(7 * 162+14 * 161+10 * 160) = 7 * 256 + 14 * 16 + 10 * 1 = 1792 + 224 + 10 = 2026 (3)
 (Всі ці числа зображені в 10-чной системі).

Таблицю відповідності між шестнадцатbрічнимі цифрами від 0 до F слід запам'ятати на пам'ять.



Системи числення та дії додавання і віднімання | Арифметичні дії над числами в позиційній системі числення

Діапазон представимо значень в N-бітової (обмеженою) розрядної сітці | Діапазон представимо значень в N-бітової сітці | двійкові суматори | Ідеї ??прискорення поширення перенесення | Суматор з умовними переносами |

© um.co.ua - учбові матеріали та реферати