21.10.2019

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


Розберемо одну з найважливіших темз інформатики - . У шкільній програмівона розкривається досить "скромно", швидше за все, через нестачу відведених на неї годинників. Знання з цієї теми, особливо на переклад систем числення, є обов'язковою умовою для успішної здачі ЄДІта вступи до ВНЗ на відповідні факультети. Нижче детально розглянуті такі поняття, як позиційні та непозиційні системи числення, наведено приклади цих систем числення, представлені правила переведення цілих десяткових чисел, правильних десяткових дробів і змішаних десяткових чисел в будь-яку іншу систему числення, переведення чисел з будь-якої системи числення в десяткову, перекладу з восьмеричною і шістнадцятковою систем числення в двійкову систему числення. На іспитах у велику кількістьзустрічаються завдання з цієї теми. Вміння їх вирішувати – одна із вимог до абітурієнтів. Скоро: По кожній темі розділу, окрім детального теоретичного матеріалу, будуть представлені практично всі можливі варіанти завданьдля самостійного вивчення. Крім того, у вас з'явиться можливість безкоштовно скачати з файлообмінника вже готові докладні рішення до даних завдань, що ілюструють різні способиотримання правильної відповіді.

епозиційні системи числення.

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

До непозиційних систем числення належить, наприклад, римська, де замість цифр – латинські літери.

I 1 (один)
V 5 (п'ять)
X 10 (десять)
L 50 (п'ятдесят)
C 100 (сто)
D 500 (п'ятсот)
M 1000 (тисяча)

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

IL 49 (50-1=49)
VI 6 (5+1=6)
XXI 21 (10+10+1=21)
MI 1001 (1000+1=1001)

позиційні системи числення.

Позиційні системи числення- Системи числення, в яких кількісне значення цифри залежить від її розташування в числі.

Наприклад, якщо говорити про десяткову систему числення, то в числі 700 цифра 7 означає "сім сотень", але ця ж цифра в числі 71 означає "сім десятків", а серед 7020 - "сім тисяч".

Кожна позиційна система численнямає своє заснування. Як основа вибирається натуральне число, більше або дорівнює двом. Воно дорівнює кількості цифр, які у даній системі числення.

    Наприклад:
  • Двійкова- позиційна система числення з основою 2.
  • Четверична- позиційна система числення з основою 4.
  • П'ятирічна- позиційна система числення з основою 5.
  • Вісімкова- позиційна система числення з основою 8.
  • Шістнадцяткова- позиційна система числення з основою 16.

Щоб успішно вирішувати завдання на тему "Системи числення", учень повинен знати напам'ять відповідність двійкових, десяткових, вісімкових і шістнадцяткових чисел до 16 10:

10 с/с 2 с/с 8 с/с 16 с/с
0 0 0 0
1 1 1 1
2 10 2 2
3 11 3 3
4 100 4 4
5 101 5 5
6 110 6 6
7 111 7 7
8 1000 10 8
9 1001 11 9
10 1010 12 A
11 1011 13 B
12 1100 14 C
13 1101 15 D
14 1110 16 E
15 1111 17 F
16 10000 20 10

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

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

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

Звідси у кмітливих учнів з'являються "свої методики" (на диво... працюючі) при заповненні, наприклад, таблиць істинності, перші стовпці (значення змінних) яких фактично заповнюються двійковими числами в порядку зростання.

Наприклад розберемо отримання чисел в восьмеричній системі: До першого числа (0) додаємо 1, отримуємо 1. Потім до 1 додаємо 1, отримуємо 2 і т.д. до 7. Якщо додамо до 7 одиницю, отримаємо число рівне підставі системи числення, тобто. 8. Тоді потрібно збільшити на одиницю розряд десятків (отримуємо вісімковий десяток – 10). Далі, очевидно, йдуть числа 11, 12, 13, 14, 15, 16, 17, 20, ..., 27, 30, ..., 77, 100, 101...

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

1 Переклад цілих десяткових чисел будь-яку іншу систему числення.

Число потрібно розділити на нова основа системи числення. Перший залишок від розподілу – це і є перша молодша цифра нового числа. Якщо приватне від розподілу менше чи дорівнює новому підставі, його (приватне) потрібно знову розділити на нове основание. Поділ потрібно продовжувати, поки не отримаємо приватне менше за нову підставу. Це старша цифра нового числа (потрібно пам'ятати, що, наприклад, у шістнадцятковій системі після 9 йдуть літери, тобто якщо в залишку отримали 11, потрібно записати його як B).

Приклад ("розподіл куточком"): Переведемо число 173 10 у вісімкову систему числення.


Таким чином, 173 10 = 255 8

2 Переведення правильних десяткових дробів у будь-яку іншу систему числення.

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

Приклад: Переведемо число 0,65625 10 у вісімкову систему числення.

Калькулятор дозволяє переводити цілі та дробові числа з однієї системи числення до іншої. Заснування системи числення не може бути менше 2 і більше 36 (10 цифр та 26 латинських букввсе-таки). Довжина чисел не повинна перевищувати 30 символів. Для введення дробових чиселВикористовуйте символ. або, . Щоб перевести число з однієї системи в іншу, введіть вихідне число в перше поле, основу вихідної системи числення в друге та основу системи числення, в яку потрібно перевести число, в третє поле, після чого натисніть кнопку "Отримати запис".

Початкове число записано в 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 -ой системі числення.

Хочу отримати запис числа в 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 -ой системі числення.

Отримати запис

Виконано перекладів: 1237182

Системи числення

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

Приклад 1. Візьмемо число 5921 у десятковій системі числення. Пронумеруємо число праворуч наліво починаючи з нуля:

Число 5921 можна записати в наступному вигляді: 5921 = 5000 +900 +20 +1 = 5 · 10 3 +9 · 10 2 +2 · 10 1 +1 · 10 0 . Число 10 є характеристикою, що визначає систему числення. В якості ступенів взято значення позиції даного числа.

Приклад 2. Розглянемо речове десяткове число 1234.567. Пронумеруємо його починаючи з нульової позиції числа від десяткової точки вліво та вправо:

Число 1234.567 можна записати в наступному вигляді: 1234.567 = 1000+200+30+4+0.5+0.06+0.007 = 1·10 3 +2·10 2 +3·10 1 +4·10 0 +5·10 -1 + 6·10 -2 +7·10 -3 .

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

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

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

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

1. Перевести число 1001101.1101 2 в десяткову систему числення.
Рішення: 10011.1101 2 = 1·2 4 +0·2 3 +0·2 2 +1·2 1 +1·2 0 +1·2 -1 +1·2 -2 +0·2 -3 +1·2 - 4 = 16+2+1+0.5+0.25+0.0625 = 19.8125 10
Відповідь: 10011.1101 2 = 19.8125 10

2. Перевести число E8F.2D 16 в десяткову систему числення.
Рішення: E8F.2D 16 = 14·16 2 +8·16 1 +15·16 0 +2·16 -1 +13·16 -2 = 3584+128+15+0.125+0.05078125 = 3727.17578125 10
Відповідь: E8F.2D 16 = 3727.17578125 10

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

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

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

Ціла частина переводиться з десяткової системи числення в іншу систему числення за допомогою послідовного поділу цілої частини числа на основу системи числення до отримання цілого залишку, меншої основи системи числення. Результатом перекладу буде запис із залишків, починаючи з останнього.

3. Перевести число 273 10 у восьмирічну систему числення.
Рішення: 273/8 = 34 і залишок 1, 34/8 = 4 і залишок 2, 4 менший за 8, тому обчислення завершено. Запис із залишків матиме такий вигляд: 421
Перевірка: 4 · 8 2 +2 · 8 1 +1 · 8 0 = 256 +16 +1 = 273 = 273, результат збігся. Отже переклад виконано правильно.
Відповідь: 273 10 = 421 8

Розглянемо переведення правильних десяткових дробів у різні системи числення.

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

Нагадаємо, правильною десятковим дробомназивається речове число з нульовою цілою частиною. Щоб перевести таке число в систему числення з основою N потрібно послідовно множити число на N до тих пір, поки дробова частина не обнулиться або не буде отримана необхідна кількість розрядів. Якщо при множенні виходить число з цілою частиною, відмінне від нуля, то ціла частина далі не враховується, тому що послідовно заноситься до результату.

4. Перевести число 0.125 10 у двійкову систему числення.
Рішення: 0.125·2 = 0.25 (0 - ціла частина, яка стане першою цифрою результату), 0.25·2 = 0.5 (0 - друга цифра результату), 0.5·2 = 1.0 (1 - третя цифра результату, оскільки дробова частина дорівнює нулю , то переклад завершено).
Відповідь: 0.125 10 = 0.001 2

Способи переведення чисел з однієї системи числення до іншої.

Переклад чисел із однієї позиційної системи числення до іншої: переклад цілих чисел.

Щоб перевести ціле число з однієї системи числення з основою d1 в іншу з основою d2 необхідно послідовно ділити це число і приватні, що отримуються, на основу d2 нової системи до тих пір, поки не вийде приватна менше основи d2. Остання частка - старша цифра числа в новій системіобчислення з основою d2, а наступні за нею цифри - це залишки від розподілу, що записуються в послідовності, що зворотна їх одержання. Арифметичні дії виконувати в тій системі числення, в якій записано число, що переводиться.

Приклад 1. Перевести число 11(10) у двійкову систему числення.

Відповідь: 11 (10) = 1011 (2).

Приклад 2. Перевести число 122(10) у вісімкову систему числення.


Відповідь: 122 (10) = 172 (8).

Приклад 3. Перевести число 500(10) у шістнадцяткову систему числення.


Відповідь: 500 (10) = 1F4 (16).

Переклад чисел з однієї позиційної системи числення до іншої: переклад правильних дробів.

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

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

Приклад 1. Перевести число 0,625(10) у двійкову систему числення.


Відповідь: 0,625 (10) = 0,101 (2).

Приклад 2. Перевести число 0,6(10) у вісімкову систему числення.


Відповідь: 0,6 (10) = 0,463 (8).

Приклад 2. Перевести число 0,7(10) у шістнадцяткову систему числення.


Відповідь: 0,7 (10) = 0, В333 (16).

Переклад двійкових, вісімкових та шістнадцяткових чисел у десяткову систему числення.

Для переведення числа P-їчної системи в десяткову необхідно використовувати таку формулу розкладання:
аnan-1 ... а1а0 = аnPn + аn-1Pn-1 + ... + а1P + a0 .

Приклад 1. Перевести число 101,11(2) до десяткової системи числення.

Відповідь: 101,11 (2) = 5,75 (10).

Приклад 2. Перевести число 57,24(8) до десяткової системи числення.

Відповідь: 57,24 (8) = 47,3125 (10).

Приклад 3. Перевести число 7A,84(16) до десяткової системи числення.

Відповідь: 7A,84 (16) = 122,515625 (10).


Переклад вісімкових та шістнадцяткових чисел у двійкову систему числення і назад.

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

Приклад: записати число 16,24(8) у двійковій системі числення.


Відповідь: 16,24 (8) = 1110,0101 (2).

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

Приклад: записати число 1110,0101(2) у восьмеричній системі числення.


Відповідь: 1110,0101 (2) = 16,24 (8).

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

Приклад: записати число 7A,7E(16) у двійковій системі числення.


Відповідь: 7A, 7E (16) = 1111010, 0111111 (2) .

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

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

Приклад: записати число 1111010,0111111(2) у шістнадцятковій системі числення.

Щоб швидко переводити числа з десяткової системи числення до двійкової, потрібно добре знати числа "2 ступеня". Наприклад, 2 10 = 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 .
Тепер складемо стовпчиком:

Привіт відвідувач сайту сайт! Продовжуємо вивчати і протокол мережного рівня IP, і якщо бути точнішим, його версію IPv4. На перший погляд, тема двійкових чисел та двійкової системи численняне має відношення до протоколу IP, але якщо згадати, що комп'ютери працюють з нулями та одиницями, то виявляється, що двійкова система та її розуміння – це основа основ, нам потрібно навчитися переводити числа з двійкової системи числення до десятковоїі навпаки: з десяткової до двійкової. Це допоможе краще зрозуміти протокол IP, а також принцип роботи масок мережі змінної довжини. Давайте приступати!

Якщо тема комп'ютерних мереж вам цікава, можете ознайомитися з іншими записами курсу.

4.4.1 Вступ

Перш ніж ми почнемо, варто взагалі пояснити, навіщо потрібна ця тема мережному інженеру. Хоча ви могли переконатися в її необхідності, коли ми говорили, але, ви можете сказати, що є IP-калькулятори, які суттєво полегшують завдання з розподілу IP-адрес, обчислення потрібних масок підмереж/мереж та визначення номера мережі та номера вузла в IP- адресу. Так воно так, але IP-калькулятор не завжди під рукою, це причина номер раз. Причина номер два полягає в тому, що на іспитах Cisco вам не дадуть IP-калькулятор і всі перетворення IP-адрес з десяткової системи числення в двійкову вам доведеться робити на аркуші паперу, а питань, де це потрібно на іспиті/іспитах з отримання сертифіката CCNA не так вже й мало, буде прикро, якщо через таку дрібницю іспит буде завалений. Ну і нарешті розуміння двійкової системи числення веде на краще розуміння принципу роботи.

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

4.4.2 Десяткові цифри та числа, розряди у числах

Давайте почнемо з простого і поговоримо про двійкові цифри та числа, ви ж знаєте, що цифри та числа – це дві різні речі. Цифра – це спеціальний символ для позначення, а число – абстрактний запис, що означає кількість. Наприклад, щоб записати, що у нас п'ять пальців на руці ми можемо використовувати римські та арабські цифри: V і 5. У цьому випадку п'ять є одночасно і числом, і цифрою. А, наприклад, для запису числа 20 ми використовуємо дві цифри: 2 та 0.

У десятковій системі числення ми маємо десять цифр або десять символів (0,1,2,3,4,5,6,7,8,9), комбінуючи які ми можемо записувати різні числа. Яким принципом ми керуємося, використовуючи десяткову систему числення? Та все дуже просто, ми зводимо десятку в той чи інший ступінь, наприклад візьмемо число 321. Як його можна записати по-іншому, так: 3*10 2 +2*10 1 +1*10 0 . Таким чином виходить, що число 321 являє собою три розряди:

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

Тобто в даному записі двійка це не просто двійка, а дві десятки або двічі по десять. А трійка це не просто трійка, а тричі по сто. Виходить така залежність: одиниця кожного наступного розряду в десять разів більша від одиниці попереднього, адже, що таке 300 – це три рази по сто. Відступ із приводу десяткової системи числення було потрібно, щоб простіше зрозуміти двійкову.

4.4.3 Двійкові цифри та числа, а також їх запис

У двійковій системі числення всього дві цифри: 0 та 1. Тому запис числа в двійковій системі часто набагато більше, ніж у десятковій. За винятком чисел 0 і 1, нуль у двійковій системі числення дорівнює нулю в десятковій, аналогічно і для одиниці. Іноді, щоб не переплутати в якій системі числення записано число, використовують суб-індекси: 267 10 10100 12 4712 8 . Число в суб-індексі вказує на систему числення.

Для запису двійкових чисел можуть бути використані символи 0b та &(амперсанд): 0b10111, &111. Якщо в десятковій системі числення, щоб вимовити число 245 ми скористаємося ось такою конструкцією: двісті сорок п'ять, то в двійковій системі числення, щоб назвати число, нам потрібно вимовити цифру з кожного розряду, наприклад, число 1100 у двійковій системі числення слід вимовляти не як тисяча сто, а як один, один, нуль, нуль. Давайте подивимося на запис чисел від 0 до 10 у двійковій системі числення:

Думаю, логіка має бути вже зрозумілою. Якщо в десятковій системі числення для кожного розряду у нас було доступно десять варіантів (від 0 до 9 включно), то в двійковій системі числення в кожному з розрядів двійкового числа ми маємо тільки два варіанти: 0 або 1 .

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

4.4.4 Перетворення чисел із десяткової системи числення у двійкову

Давайте краще розберемося з тим, як перетворити число з десяткової системи числення в двійкову. І тут все насправді дуже і дуже просто, хоча на словах пояснити важко, тож одразу наведу приклад перетворення чисел із десяткової системи числення у двійкову. Візьмемо число 61, щоб виконати перетворення на двійкову систему, нам потрібно це число ділити на два і дивитися, що виходить у залишку від поділу. А результат розподілу знову ділити на два. У даному випадку 61 – це ділене, як дільник у нас завжди буде двійка, а приватне (результат поділу) ми ділимо знову на два, продовжуємо поділ до тих пір, поки в приватному не виявиться 1, ця остання одиниця і буде крайнім лівим розрядом . Малюнок нижче демонструє.

При цьому зверніть увагу, що число 61 це не 101111, а 111101, тобто виписуємо результат з кінця. Одиницю в останньому приватному сенсі ділити на два немає, оскільки в даному випадку використовується цілий поділ, а при такому підході виходить так, як на Рисунку 4.4.2.

Це не самий швидкий спосібпереведення числа з двійкової системи числення до десяткової. Ми маємо кілька прискорювачів. Наприклад, число 7 у двійковій системі записується як 111, число 3 як 11, а число 255 як 11111111. Всі ці випадки до неподобства прості. Справа в тому, що числа 8, 4 і 256 є ступенями двійки, а числа 7, 3 і 255 на одиницю менше цих чисел. Так ось для числа, які на одиницю менше, ніж число, що дорівнює ступеню двійки, діє просте правило: у двійковій системі таке десяткове число записується кількістю одиниць рівним ступеня двійки. Так, наприклад, число 256 це два у восьмому ступені, отже, 255 записується як 11111111, а число 8 це два в третьому ступені, а це говорить нам про те, що 7 у двійковій системі числення буде записано як 111. Ну а зрозуміти, як записати 256, 4 та 8 у двійковій системі числення теж не важко, досить просто додати одиницю: 256 = 11111111 + 1 = 100000000; 8 = 111 + 1 = 1000; 4 = 11 + 1 = 100.
Будь-який свій результат ви можете перевірити на калькуляторі і спочатку краще так і робити.

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

4.4.5 Перетворення чисел із двійкової системи числення в десяткову

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

Щоб з цього двійкового числа отримати десяткове, потрібно кожне число в розряді помножити на два ступеня, а потім скласти результати перемноження, простіше показати:

1*2 4 +1*2 3 +1*2 2 +1*2 1 +0*2 0 = 16+8+4+2+0=30

Відкриємо калькулятор і переконаємося, що 30 у десятковій системі числення, це 11110 у двійковій.

Бачимо, що все зроблено правильно. З прикладу видно, що Переведення числа з двійкової системи числення в десяткову виконується набагато простіше, ніж зворотній переказ. Щоб впевнено працювати з потрібно лише пам'ятати ступеня двійки до 2 8 . Для наочності наведу таблицю.

Нам більше і не потрібно, оскільки максимально можливе число, яке можна записати в один байт (8 біт або вісім двійкових значень), дорівнює 255, тобто в кожному октеті IP-адреси або маски підмережі протоколу IPv4 максимально можливе значення — 255. , В яких є значення більше 255, але їх нам розраховувати не потрібно.

4.4.6 Додавання, віднімання, множення двійкових чисел та інші операції з двійковими числами

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

Додавання двійкових чисел

Складати двійкові числа не так вже й складно: 1+0 =1; 1+1=0 (надалі жінок пояснення); 0+0=0. Це були прості приклади, де використовувався лише один розряд, погляньмо на приклади, де кількість розрядів більше, ніж один.
101+1101 у десятковій системі це буде 5 + 13 = 18. Давайте порахуємо у стовпчик.

Результат виділено помаранчевим кольором, калькулятор каже, що ми вважають вірно, можете перевірити. Тепер давайте дивитися чому так вийшло, адже спочатку я написав, що 1+1=0, але це для випадку, коли ми маємо лише один розряд, для випадків, коли розрядів більше, ніж один, 1+1=10 (або два у десятковій), що логічно.

Тоді дивіться, що виходить, ми виконуємо складання по розрядах справа наліво:

1. 1+1=10, записуємо нуль, а одиниця йде наступного розряду.

2. У наступному розряді виходить 0+0+1=1 (ця одиниця прийшла до нас із результату додавання на кроці 1).

4. Тут у нас є одиниця лише у другого числа, але сюди ще перенеслася, тож 0+1+1 = 10.

5. Склеюємо все воєдино:10|0|1|0.

Якщо ліньки у стовпчик, то давайте рахувати так: 101011+11011 або 43 + 27 = 70. Як тут можна вчинити, а давайте дивитися, адже нам ніхто не забороняє робити перетворення, а від зміни місць доданків сума не змінюється, для двійкової системи числення це правило також є актуальним.

  1. 101011 = 101000 + 11 = 101000 + 10 + 1 = 100000 + 1000 + 10 + 1.
  2. 11011 = 11000 + 10 + 1 = 10000 + 1000 + 10 + 1.
  3. 100000 + 10000 + (1000 +1000) + (10+10) + (1+1).
  4. 100000 + (10000 + 10000) + 100 + 10.
  5. 100000 + 100000 +110
  6. 1000000 + 110.
  7. 1000110.

Можете перевірити калькулятором, 1000110 у двійковій системі числення це 70 у десятковій.

Віднімання двійкових чисел

Відразу приклад для віднімання однорозрядних чисел у двійковій системі числення, Про негативні числа ми не говорили, тому 0-1 не беремо до уваги: ​​1 - 0 = 1; 0 - 0 = 0; 1 - 1 = 0. Якщо розрядів більше ніж один, то теж все просто, навіть ніяких стовпчиків і хитрощів не потрібно: 110111 - 1000, це те ж саме, що і 55 - 8. В результаті ми отримаємо 101111. І битися серце перестало , звідки одиниця у третьому розряді (нумерація зліва направо і починається з нуля)? Та все просто! У другому розряді числа 110111 стоїть 0, а в першому розряді стоїть 1 (якщо приймемо, що нумерація розрядів починається з 0 і йде зліва направо), але одиниця четвертого розряду виходить шляхом складання двох одиниць третього розряду (виходить така собі віртуальна двійка) і від цієї двійки ми віднімаємо одиницю, яка стоїть у нульовому розряді числа 1000, а 2 — 1 = 1, а 1 є допустимою цифрою в двійковій системі числення.

Розмноження двійкових чисел

Нам залишилося розглянути множення двійкових чисел, що реалізує за рахунок зсуву на один розряд вліво. Але спочатку давайте подивимося на результати однорозрядного множення: 1*1 = 1; 1 * 0 = 0 0 * 0 = 0. Власне, все просто, тепер давайте подивимося на щось складніше. Візьмемо числа 101001 (41) та 1100 (12). Примножувати будемо стовпчиком.

Якщо з таблиці незрозуміло як так вийшло, спробую пояснити словами:

  1. Множення двійкових чисел зручно робити в стовпчик, тому виписуємо другий множник під першим, якщо числа з різною кількістю розрядів, то буде зручніше, якщо більша кількістьбуде зверху.
  2. Наступним кроком множимо всі розряди першого числа наймолодший розряд другого числа. Записуємо результат перемноження нижче, при цьому потрібно записати так, щоб під кожним відповідним розрядом був записаний результат перемноження.
  3. Тепер нам потрібно перемножити всі розряди першого числа на наступний розряд другого числа і результат записати ще одним рядком нижче, але цей результат потрібно зрушити на один розряд вліво, якщо дивитися на таблицю, то друга послідовність нулів зверху.
  4. Так само потрібно зробити для наступних розрядів, щоразу зсуваючись на один розряд вліво, а якщо дивитися на таблицю, то можна сказати, що на одну клітинку вліво.
  5. У нас вийшло чотири двійкових числа, які потрібно тепер скласти та отримати результат. Додавання ми нещодавно розглянули, проблем виникнути не повинно.

Загалом операція множення не така вже й складна, потрібно лише трохи попрактикуватися.

Операції булевої алгебри

У булевій алгебрі є два дуже важливі поняття: true (істина) і false (брехня), еквівалентом для них є нуль і одиниця в двійковій системі числення. Оператори булевої алгебри розширюють кількість доступних операторів над цими значеннями, давайте подивимося.

Операція «Логічне І» чи AND

Операція «Логічна І» або AND еквівалентна множенню однорозрядних двійкових чисел.

1 AND 1 = 1; 1 AND 0 = 1; 0 AND 0 = 0; 0 і 1 = 0.

1 AND 1 = 1;

1 AND 0 = 1;

0 AND 0 = 0;

0 і 1 = 0.

Одиниця в результаті «Логічного І» буде лише в тому випадку, якщо обидва значення дорівнюють одиниці, у всіх інших випадках буде нуль.

Операція «Логічне АБО» або OR

Операція «Логічний АБО» або OR працює за наступним принципом: якщо хоча б одне значення дорівнює одиниці, то в результаті буде одиниця.

1 OR 1 = 1; 1 OR 0 = 1; 0 OR 1 = 1; 0 OR 0 = 0.

1 OR 1 = 1;

1 OR 0 = 1;

0 OR 1 = 1;

0 OR 0 = 0.

Операція «Виключає АБО» або XOR

Операція «Виключає АБО» або XOR дасть нам в результаті одиницю тільки в тому випадку, якщо один з операндів дорівнює одиниці, а другий дорівнює нулю. Якщо обидва операнда дорівнюють нулю, буде нуль і навіть якщо обидва операнда дорівнюють одиниці, в результаті вийде нуль.