З трійкової до десяткової онлайн. Як переводити з двійкової системи до десяткової

Переведення чисел з однієї системи числення до іншої становить важливу частину машинної арифметики. Розглянемо основні правила перекладу.

1. Для переведення двійкового числа до десяткового необхідно його записати у вигляді багаточлена, що складається з творів цифр числа та відповідного ступеня числа 2, та обчислити за правилами десяткової арифметики:

При перекладі зручно користуватися таблицею ступенів двійки:

Таблиця 4. Ступені числа 2

n (ступінь)

приклад.

2. Для перекладу восьмеричного числау десяткове необхідно його записати у вигляді багаточлена, що складається з творів цифр числа та відповідного ступеня числа 8, та обчислити за правилами десяткової арифметики:

При перекладі зручно користуватися таблицею ступенів вісімки:

Таблиця 5. Ступені числа 8

n (ступінь)

приклад.Число перевести до десяткової системи числення.

3. Для переведення шістнадцяткового числа до десяткового необхідно його записати у вигляді багаточлена, що складається з творів цифр числа та відповідного ступеня числа 16, та обчислити за правилами десяткової арифметики:

При перекладі зручно користуватися та бліц степенів числа 16:

Таблиця 6. Ступені числа 16

n (ступінь)

приклад.Число перевести до десяткової системи числення.

4. Для переведення десяткового числа в двійкову систему його необхідно послідовно ділити на 2 доти, доки залишиться залишок, менший чи рівний 1. Число в двійковій системі записується як послідовність останнього результату поділу і залишків від поділу у зворотному порядку.

приклад.Число перевести в двійкову систему числення.

5. Для переведення десяткового числа у вісімкову систему його необхідно послідовно ділити на 8 до тих пір, поки не залишиться залишок, менший або рівний 7. Число у вісімковій системі записується як послідовність цифр останнього результату поділу та залишків від поділу у зворотному порядку.

приклад.Число перевести у вісімкову систему числення.

6. Для переведення десяткового числа в шістнадцяткову систему його необхідно послідовно ділити на 16 до тих пір, поки не залишиться залишок, менший або рівний 15. Число в шістнадцятковій системі записується як послідовність цифр останнього результату поділу та залишків від поділу у зворотному порядку.

приклад.Число перевести в шістнадцяткову систему числення.

Зауваження 1

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

Правила переведення чисел з будь-якої системи числення до десяткової

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

    При переведенні двійкового числа в десяткове потрібно представити двійкове число у вигляді багаточлена, кожен елемент якого представлений у вигляді добутку цифри числа та відповідного ступеня числа підстави, в даному випадку $2$, а потім потрібно обчислити багаточлен за правилами десяткової арифметики:

    $X_2=A_n \cdot 2^(n-1) + A_(n-1) \cdot 2^(n-2) + A_(n-2) \cdot 2^(n-3) + ... + A_2 \cdot 2^1 + A_1 \cdot 2^0$

Малюнок 1. Таблиця 1

Приклад 1

Число $11110101_2$ перевести в десяткову систему числення.

Рішення.Використовуючи наведену таблицю $1$ ступенів основи $2$, представимо число у вигляді багаточлена:

$11110101_2 = 1 \cdot 27 + 1 \cdot 26 + 1 \cdot 25 + 1 \cdot 24 + 0 \cdot 23 + 1 \cdot 22 + 0 \cdot 21 + 1 \cdot 20 = 123 + + 0 + 4 + 0 + 1 = 245_(10)$

    Для переведення числа з вісімкової системи числення до десяткової потрібно подати його у вигляді багаточлена, кожен елемент якого представлений у вигляді добутку цифри числа та відповідного ступеня числа підстави, в даному випадку $8$, а потім потрібно обчислити багаточлен за правилами десяткової арифметики:

    $X_8 = A_n \cdot 8^(n-1) + A_(n-1) \cdot 8^(n-2) + A_(n-2) \cdot 8^(n-3) + ... + A_2 \cdot 8^1 + A_1 \cdot 8^0$

Малюнок 2. Таблиця 2

Приклад 2

Число $75013_8$ перевести до десяткової системи числення.

Рішення.Використовуючи наведену таблицю $2$ ступенів підстави $8$, представимо число у вигляді багаточлена:

$75013_8 = 7\cdot 8^4 + 5 \cdot 8^3 + 0 \cdot 8^2 + 1 \cdot 8^1 + 3 \cdot 8^0 = 31243_(10)$

    Для переведення числа з шістнадцяткової системи числення в десяткову необхідно його подати у вигляді багаточлена, кожен елемент якого представлений у вигляді добутку цифри числа та відповідного ступеня числа підстави, в даному випадку $16$, а потім потрібно обчислити багаточлен за правилами десяткової арифметики:

    $X_(16) = A_n \cdot 16^(n-1) + A_(n-1) \cdot 16^(n-2) + A_(n-2) \cdot 16^(n-3) + . .. + A_2 \cdot 16^1 + A_1 \cdot 16^0$

Малюнок 3. Таблиця 3

Приклад 3

Число $FFA2_(16)$ перевести в десяткову систему числення.

Рішення.Використовуючи наведену таблицю $3$ ступенів підстави $8$, представимо число у вигляді багаточлена:

$FFA2_(16) = 15 \cdot 16^3 + 15 \cdot 16^2 + 10 \cdot 16^1 + 2 \cdot 16^0 =61440 + 3840 + 160 + 2 = 65442_(10)$

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

  • Для переведення числа з десяткової системиобчислення в двійкову його необхідно послідовно ділити на $2$ до того часу, поки залишиться залишок, менший чи рівний $1$. Число в двійковій системі подати як послідовність останнього результату поділу та залишків від поділу у зворотному порядку.

Приклад 4

Число $22_(10)$ перевести в двійкову систему числення.

Рішення:

Малюнок 4.

$22_{10} = 10110_2$

  • Для переведення числа з десяткової системи числення у вісімкову його необхідно послідовно ділити на $8$ доти, доки залишиться залишок, менший чи рівний $7$. Число у вісімковій системі числення подати як послідовність цифр останнього результату поділу та залишків від поділу у зворотному порядку.

Приклад 5

Число $571_(10)$ перевести у вісімкову систему числення.

Рішення:

Малюнок 5.

$571_{10} = 1073_8$

  • Для переведення числа з десяткової системи числення в шістнадцяткову систему його необхідно послідовно ділити на $16$ доти, доки залишиться залишок, менший чи рівний $15$. Число в шістнадцятковій системі подати як послідовність цифр останнього результату поділу та залишків від поділу у зворотному порядку.

Приклад 6

Число $7467_(10)$ перевести в шістнадцяткову систему числення.

Рішення:

Малюнок 6.

$7467_(10) = 1D2B_(16)$

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

    Наприклад: $0,3125_((10))$ у вісімковій системі числення буде виглядати як $0,24_((8))$.

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

Правила переведення чисел із двійкової системи числення до іншої

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

Малюнок 7. Таблиця 4

Приклад 7

Число $1001011_2$ перевести у вісімкову систему числення.

Рішення. Використовуючи таблицю 4, переведемо число із двійкової системи числення у вісімкову:

$001 001 011_2 = 113_8$

  • Щоб перевести число з двійкової системи числення до шістнадцяткової, його слід розбити на зошити (четвірки цифр), починаючи з молодшого розряду, у разі потреби доповнивши старший зошит нулями, потім кожний зошит замінити відповідною вісімковою цифрою згідно з таблицею 4.

Щоб швидко переводити числа з десяткової системи числення до двійкової, потрібно добре знати числа "2 ступеня". Наприклад, 210 = 1024 і т.д. Це дозволить вирішувати деякі приклади перекладу буквально за секунди. Одним з таких завдань є завдання A1 з демо ЄДІ 2012 року. Можна, звичайно, довго і нудно ділити число на "2". Але краще вирішувати по-іншому, заощаджуючи дорогоцінний час на іспиті.

Метод дуже простий. Суть його така: якщо число, яке потрібно перевести з десяткової системи, дорівнює числу "2 в ступені", то це число в двійковій системі містить кількість нулів, що дорівнює ступеню. Попереду цих нулів додаємо "1".

  • Перекладемо число 2 із десяткової системи. 2 = 2 1 . Тому в двійковій системі число містить 1 нуль. Попереду ставимо "1" і отримуємо 102.
  • Перекладемо 4 із десяткової системи. 4 = 2 2 . Тому в двійковій системі число містить 2 нуля. Попереду ставимо "1" та отримуємо 100 2.
  • Перекладемо 8 із десяткової системи. 8 = 2 3 . Тому в двійковій системі число містить 3 нуля. Попереду ставимо "1" та отримуємо 1000 2.


Аналогічно й інших чисел " 2 ступеня " .

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

  • Перекладемо 3 із десяткової системи. 3 = 2 2 -1. Тому в двійковій системі число містить 2 одиниці. Отримуємо 11 2.
  • Перекладемо 7 із десяткової системи. 7 = 2 3 -1. Тому в двійковій системі число містить 3 одиниці. Отримуємо 111 2.

На малюнку квадратиками позначено двійкове уявлення числа, а ліворуч рожевим кольором-десяткове.


Аналогічний переклад для інших чисел "2 в ступеня-1".

Зрозуміло, що переклад чисел від 0 до 8 можна зробити швидко або поділом, або просто знати напам'ять їхнє представлення в двійковій системі. Я навела ці приклади, щоб Ви зрозуміли принцип даного методуі використовували його для перекладу більш "значних чисел", наприклад, для перекладу чисел 127,128, 255, 256, 511, 512 і т.д.

Можна зустріти такі завдання, коли потрібно перекласти число, не рівне числу "2 ступеня", але близьке до нього. Воно може бути більшим або меншим від числа "2 в ступені". Різниця між числом, що переводиться, і числом "2 в ступені" повинна бути невелика. Наприклад, до 3. Подання чисел від 0 до 3 у двійковій системі треба просто знати без перекладу.

Якщо число більше, то вирішуємо так:

Перекладаємо спочатку число "2 ступеня" в двійкову систему. А потім додаємо до нього різницю між числом "2 в ступені" і числом, що перекладається.

Наприклад, переведемо 19 із десяткової системи. Воно більше від числа "2 в ступені" на 3.

16=2 4 . 16 10 =10000 2 .

3 10 =11 2 .

19 10 =10000 2 +11 2 =10011 2 .

Якщо число менше числа "2 у ступеня", то зручніше користуватися числом "2 у ступеню-1". Вирішуємо так:

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

Наприклад, переведемо 29 із десяткової системи. Воно більше від числа "2 в ступеня-1" на 2. 29 = 31-2.

31 10 =11111 2 .

2 10 =10 2 .

29 10 =11111 2 -10 2 =11101 2

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

Наприклад, перевести число 528 із десяткової системи. 528 = 512 +16. Перекладаємо окремо 512 та 16.
512=2 9 . 512 10 =1000000000 2 .
16=2 4 . 16 10 =10000 2 .
Тепер складемо стовпчиком:

Здає ЄДІ і не тільки ...

Дивно, що у школах під час уроків інформатики зазвичай показують учням найскладніший і незручний спосіб переведення чисел із однієї системи до іншої. Це спосіб полягає в послідовному розподілі вихідного числа на основу та збирання залишків від розподілу у зворотному порядку.

Наприклад, потрібно перевести число 810 10 у двійкову систему:

Результат записуємо у зворотному порядку знизу нагору. Виходить 81010 = 11001010102

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

У програму ЄДІз інформатики входять кілька завдань, пов'язаних із переведенням чисел з однієї системи в іншу. Як правило, це перетворення між 8- та 16-річними системами та двійковою. Це розділи А1, В11. Але є завдання з іншими системами числення, як, наприклад, у розділі B7.

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

Таблиця ступенів числа 2:

2 1 2 2 2 3 2 4 2 5 2 6 2 7 2 8 2 9 2 10
2 4 8 16 32 64 128 256 512 1024

Вона легко виходить множенням попереднього числа на 2. Так що якщо пам'ятаєте не всі ці числа, інші неважко отримати в розумі з тих, які пам'ятаєте.

Таблиця двійкових чиселвід 0 до 15 з 16-річним поданням:

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
0 1 2 3 4 5 6 7 8 9 A B C D E F

Відсутні значення теж легко обчислити, додаючи по 1 до відомих значень.

Переклад цілих чисел

Отже, почнемо з переведення одразу в двійкову систему. Візьмемо те саме число 810 10 . Нам потрібно розкласти це число на доданки, рівні ступеням двійки.

  1. Шукаємо найближчу до 810 ступінь двійки, що не перевищує його. Це 29 = 512.
  2. Віднімаємо 512 з 810, отримуємо 298.
  3. Повторимо кроки 1 і 2, доки залишиться 1 чи 0.
  4. У нас вийшло так: 810 = 512 + 256 + 32 + 8 + 2 = 2 9 + 2 8 + 2 5 + 2 3 + 2 1 .
Далі є два способи, можна використовувати будь-який із них. Як легко побачити, що в будь-якій системі числення її основа завжди 10. Квадрат основи завжди буде 100, куб 1000. Тобто ступінь основи системи числення - це 1 (одиниця), і за нею стільки нулів, яка ступінь.

Спосіб 1: Розставити 1 за тими розрядами, які вийшли показники у доданків. У нашому прикладі це 9, 8, 5, 3 та 1. В інших місцях стоятимуть нулі. Отже, ми отримали двійкове уявлення числа 81010 = 11001010102. Одиниці стоять на 9-му, 8-му, 5-му, 3-му і 1-му місцях, вважаючи праворуч наліво з нуля.

Спосіб 2: Розпишемо доданки як ступені двійки один під одним, починаючи з більшого.

810 =

А тепер складемо ці сходи разом, як складають віяло: 1100101010 .

От і все. Принагідно також легко вирішується завдання «скільки одиниць у двійковому записі числа 810?».

Відповідь - стільки, скільки доданків (ступеня двійки) у такому його поданні. У 810 їх 5.

Тепер приклад простіший.

Переведемо число 63 у 5-річну систему числення. Найближчий до 63 ступінь числа 5 - це 25 (квадрат 5). Куб (125) буде вже багато. Тобто 63 лежить між квадратом 5 та кубом. Тоді підберемо коефіцієнт для 5 2 . Це два.

Отримуємо 63 10 = 50 + 13 = 50 + 10 + 3 = 2 * 5 2 + 2 * 5 + 3 = 223 5 .

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

Переведемо до двійкової системи число 547 8 .

547 8 = 101 100 111
5 4 7

Ще одне, наприклад, 7D6A 16 .

7D6A 16 = (0)111 1101 0110 1010
7 D 6 A

Переведемо до 16-річної системи число 7368. Спочатку цифри запишемо трійками, а потім поділимо їх на четвірки з кінця: 736 8 = 111 011 110 = 1 1101 1110 = 1DE 16 . Переведемо до 8-річної системи число C25 16 . Спочатку цифри запишемо четвірками, а потім поділимо їх на трійки з кінця: C25 16 = 1100 0010 0101 = 110 000 100 101 = 6045 8 . Тепер розглянемо переведення назад у десяткову. Він не уявляє, головне не помилитися в розрахунках. Розкладаємо число на многочлен зі ступенями основи та коефіцієнтами при них. Потім все множимо та складаємо. E68 16 = 14 * 16 2 + 6 * 16 + 8 = 3688. 732 8 = 7 * 8 2 + 3 * 8 + 2 = 474 .

Переклад негативних чисел

Тут потрібно врахувати, що число буде представлено в додатковому коді. Для переведення числа в додатковий код потрібно знати кінцевий розмір числа, тобто у що ми хочемо його вписати - в байт, два байти, в чотири. Старший ряд цифр означає знак. Якщо там 0, то число позитивне, якщо 1 то негативне. Ліворуч число доповнюється знаковим розрядом. Беззнакові (unsigned) числа ми розглядаємо, вони завжди позитивні, а старший розряд у яких використовується як інформаційний.

Для переведення негативного числа до двійковий додатковий код необхідно перевести позитивне число в двійкову систему, потім поміняти нулі на одиниці і одиниці на нулі. Потім додати результату 1.

Отже, переведемо число -79 у двійкову систему. Число займе у нас один байт.

Перекладаємо 79 в двійкову систему, 79 = 1001111. Доповнимо зліва нулями до розміру байта, 8 розрядів, отримуємо 01001111. Змінюємо 1 на 0 і 0 на 1. Отримуємо 10110000. До результату додаємо0 1, отримуємо0. Принагідно відповідаємо питанням ЄДІ «скільки одиниць у двійковому поданні числа -79?». Відповідь – 4.

Додаток 1 до інверсії числа дозволяє усунути різницю між уявленнями +0 = 00000000 та -0 = 11111111. У додатковому коді вони будуть записані однаково 00000000.

Переклад дробових чисел

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

Перекладемо число 0,6752 у двійкову систему.

0 ,6752
*2
1 ,3504
*2
0 ,7008
*2
1 ,4016
*2
0 ,8032
*2
1 ,6064
*2
1 ,2128

Процес можна продовжувати довго, поки не отримаємо всі нулі в дробовій частині або буде досягнуто необхідної точності. Зупинимося поки що на 6-му знаку.

Виходить 0,6752 = 0,101011.

Якщо число було 5,6752, то у двійковому вигляді воно буде 101,101011.

Поділитися