Якщо вам цікаво дізнатись, як читати двійкові числа, важливо зрозуміти, як працюють двійкові числа. Двійкова система відома як система нумерації "base 2", що означає наявність двох можливих чисел для кожної цифри; один чи нуль. Великі числа записуються шляхом додавання додаткових двійкових одиниць чи нулів.



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


Знання про те, як читати двійкові файли, не є критичним для використання комп'ютерів. Але добре зрозуміти концепцію, щоб краще зрозуміти, як комп'ютери зберігають числа у пам'яті. Він також дозволяє розуміти такі терміни, як 16-бітові, 32-бітові, 64-бітові та вимірювання пам'яті, такі як байти (8 біт).



«Читання» двійкового коду зазвичай означає переведення двійкового числа до базового 10 (десяткового) числа, з яким люди знайомі. Це перетворення досить просто виконати у своїй голові, коли ви зрозумієте, як працює бінарна мова.

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


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



2. Перейдіть до наступної цифри. Якщо це один, то розрахуйте два в одному ступені. Запишіть це значення. У цьому прикладі значення дорівнює ступеня два, що дорівнює двом.



3. Продовжуйте повторювати цей процес, поки не дійдете до лівої цифри.



4. Щоб закінчити все, що вам потрібно зробити, це скласти всі ці числа разом, щоб отримати загальне десяткове значення двійкового числа: 128 + 64 + 0 + 0 + 8 + 0 + 2 + 0 = 202 .


Нотатка: Інший спосіб побачити весь цей процес у формі рівняння полягає в наступному: 1 x 2 7 + 1 x 2 6 + 0 x 2 5 + 0 x 2 4 + 1 x 2 3 + 0 x 2 2 + 1 x 2 1 + 0 х 2 0 = 20.


Двійкові числа з підписом


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


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


Читання двійкового числа зі знаком майже таке саме, як і без знака, з однією невеликою відмінністю.


1. Виконайте ту ж процедуру, як описано вище для двійкового числа без знака, але зупиніться, як тільки ви досягнете найлівішого біта.



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



3. Тепер виконайте ті ж обчислення, що й раніше, але застосуйте відповідний знак до числа, вказаного крайнім лівим бітом: 64 + 0 + 0 + 8 + 0 + 2 + 0 = -74 .


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

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

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

Як шифрувати бінарним кодом

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

У базовій таблиці наведено бінарні коди для латинської абетки, цифр та деяких символів.

У розширену таблицю додано бінарну інтерпретацію кирилиці та додаткових знаків.

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

Переклад бінарного числа до десяткового

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

  1. Нижче бінарного числа, починаючи з крайньої правої цифри, написати цифру 2 у зростаючих ступенях.
  2. Ступеня числа 2 помножити на відповідну цифру бінарного числа (1 або 0).
  3. Значення, що вийшло, скласти.

Ось як цей алгоритм виглядає на папері:

Онлайн сервіси для бінарної розшифровки

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

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

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

На відміну від звичного для нас десяткового кодування чисел, тобто коду з основою десять, при двійковому кодуванні на основі коду лежить число два (рис. 2.9). Тобто кожна цифра коду (кожен розряд) двійкового коду може приймати не десять значень (як у десятковому коді: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9), а лише два - 0 і 1. Система позиційного запису залишається такою самою, тобто праворуч пишеться наймолодший розряд, а зліва - найстарший. Але якщо в десятковій системі вага кожного наступного розряду більша за вагу попереднього в десять разів, то в двійковій системі (при двійковому кодуванні) - у два рази. Кожен розряд двійкового коду називається бітом (від англійського "Binary Digit" - "двійкове число").

Мал. 2.9.Десятичне та двійкове кодування

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

З таблиці видно, що необхідну кількість розрядів двійкового коду значно більше, ніж необхідну кількість розрядів десяткового коду. Максимально можливе число при кількості розрядів, що дорівнює трьом, становить при десятковій системі 999, а при двійковій - лише 7 (тобто 111 у двійковому коді). У загальному випадку n-розрядне двійкове число може набувати 2 n різних значень, а n-розрядне десяткове число - 10 n значень. Тобто запис великих двійкових чисел (з кількістю розрядів більше десяти) стає не надто зручним.

Таблиця 2.3. Відповідність чисел у десятковій та двійковій системах
Десяткова система Двійкова система Десяткова система Двійкова система

Для того, щоб спростити запис двійкових чисел, було запропоновано так звану шістнадцяткову систему (16-річне кодування). У цьому випадку всі двійкові розряди розбиваються на групи по чотири розряди (починаючи з молодшого), а вже кожна група кодується одним символом. Кожна така група називається напівбайтом(або ніблом, зошитом), а дві групи (8 розрядів) – байтом. З табл. 2.3 видно, що 4-розрядне двійкове число може набувати 16 різних значень (від 0 до 15). Тому потрібне число символів для шістнадцяткового коду теж дорівнює 16, звідки і походить назва коду. Як перші 10 символів беруться цифри від 0 до 9, а потім використовуються 6 початкових великих букв латинського алфавіту: A, B, C, D, E, F.

Мал. 2.10.Двійковий та 16-річний запис числа

У табл. 2.4 наведено приклади 16-річного кодування перших 20 чисел (у дужках наведено двійкові числа), але в рис. 2.10 показаний приклад запису двійкового числа у 16-річному вигляді. Для позначення 16-річного кодування іноді застосовують літеру "h" або "H" (від англійського Hexadecimal) в кінці числа, наприклад запис A17F h позначає 16-річне число A17F. Тут А1 є старший байт числа, а 7F - молодший байт числа. Все число (у нашому випадку – двобайтове) називається словом.

Таблиця 2.4. 16-річна система кодування
Десяткова система 16-річна система Десяткова система 16-річна система
0 (0) A (1010)
1(1) B (1011)
2 (10) C (1100)
3 (11) D (1101)
4 (100) E (1110)
5 (101) F (1111)
6 (110) 10 (10000)
7 (111) 11 (10001)
8 (1000) 12 (10010)
9 (1001) 13 (10011)

Для переведення 16-річного числа до десяткового необхідно помножити значення молодшого (нульового) розряду на одиницю, значення наступного (першого) розряду на 16, другого розряду на 256 (16 2) тощо, а потім скласти всі твори. Наприклад, візьмемо число A17F:

A17F=F*16 0 + 7*16 1 + 1*16 2 + A*16 3 = 15*1 + 7*16+1*256+10*4096=41343

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

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

Таблиця 2.6. Двійково-десяткова система кодування
Десяткова система Двійково-десяткова система Десяткова система Двійково-десяткова система
0 (0) 10 (1000)
1(1) 11 (1001)
2 (10) 12 (10010)
3 (11) 13 (10011)
4 (100) 14 (10100)
5 (101) 15 (10101)
6 (110) 16 (10110)
7 (111) 17 (10111)
8 (1000) 18 (11000)
9 (1001) 19 (11001)

У двійковому коді над числами можна робити будь-які арифметичні операції: додавання, віднімання, множення, поділ.

Розглянемо, наприклад, додавання двох 4-розрядних двійкових чисел. Нехай треба скласти число 0111 (десяткове 7) та 1011 (десяткове 11). Додавання цих чисел не складніше, ніж у десятковому поданні:

При додаванні 0 і 0 отримуємо 0, при додаванні 1 і 0 отримуємо 1, при додаванні 1 і 1 отримуємо 0 і перенесення в наступний розряд 1. Результат - 10010 (десяткове 18). При додаванні будь-яких двох n-розрядних двійкових чисел може вийти n-розрядне або (n+1)-розрядне число.

Так само проводиться віднімання. Нехай від 10010 (18) треба відняти число 0111 (7). Записуємо числа з вирівнюванням по молодшому розряду і віднімаємо так само, як у випадку десяткової системи:

При відніманні 0 з 0 отримуємо 0, при відніманні 0 з 1 отримуємо 1, при відніманні 1 з 1 отримуємо 0, при відніманні 1 з 0 отримуємо 1 і позику 1 в наступному розряді. Результат – 1011 (десяткове 11).

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

Для одночасного уявлення як двійкових позитивних, і двійкових негативних чисел найчастіше використовується так званий додатковий код. Негативні числа в цьому коді виражаються таким числом, яке складено з позитивним числом такої ж величини, дасть в результаті нуль. Щоб отримати негативне число, треба поміняти все біти того ж позитивного числа на протилежні (0 на 1, 1 на 0) і додати до результату 1. Наприклад, запишемо число –5. Число 5 у двійковому коді виглядає 0101. Замінюємо біти на протилежні: 1010 і додаємо одиницю: 1011. Підсумовуємо результат з вихідним числом: 1011 + 0101 = 0000 (перенесення до п'ятого розряду ігноруємо).

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

Крім стандартних арифметичних операцій, у двійковій системі числення використовуються і деякі специфічні операції, наприклад, додавання за модулем 2. Ця операція (позначається A) є побітовою, тобто ніяких переносів з розряду в розряд і позик у старших розрядах тут не існує. Правила додавання за модулем 2 такі: , , . Ця ж операція називається функцією Виключне АБО. Наприклад, підсумуємо по модулю 2 два двійкові числа 0111 і 1011:

Серед інших побітових операцій над двійковими числами можна відзначити функцію І та функцію АБО. Функція І дає в результаті одиницю лише тоді, коли у відповідних бітах двох вихідних чисел обидві одиниці, інакше результат -0. Функція АБО дає в результаті одиницю тоді, коли хоча б один із відповідних бітів вихідних чисел дорівнює 1, інакше результат 0.

На цьому уроці буде розглянуто тему «Кодування інформації. Двійкове кодування. Одиниці виміру інформації». У ході нього користувачі зможуть отримати уявлення про кодування інформації, способи сприйняття інформації комп'ютерів, одиниці її вимірювання та двійкове кодування.

Тема:Інформація навколо нас

Урок: Кодування інформації. Двійкове кодування. Одиниці виміру інформації

На цьому уроці будуть розглянуті такі питання:

1. Кодування як зміна форми подання інформації.

2. Як комп'ютер розпізнає інформацію?

3. Як виміряти інформацію?

4. Одиниці виміру інформації.

У світі кодів

Навіщо люди кодують інформацію?

1. Приховати її від інших (дзеркальний тайнопис Леонардо да Вінчі, військові шифрування).

2. Записати інформацію коротше (стенографія, абревіатура, дорожні знаки).

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

Кодування - це подання інформації за допомогою певного коду.

Код - це система умовних знаків подання інформації.

Способи кодування інформації

1. Графічний (див. рис. 1) (за допомогою малюнків та знаків).

Мал. 1. Система сигнальних прапорів (Джерело)

2. Числовий (за допомогою чисел).

Наприклад: 11001111 11100101.

3. Символьний (за допомогою символів алфавіту).

Наприклад: НКМБМ ЧДЄУ.

Декодування - це дія щодо відновлення первісної форми подання інформації. Для декодування необхідно знати код та правила кодування.

Засобом кодування та декодування служить кодова таблиця відповідності. Наприклад, відповідність у різних системах числення - 24 - XXIV, відповідність алфавіту будь-яким символам (Рис. 2).


Мал. 2. Приклад шифру (Джерело)

Приклади кодування інформації

Прикладом кодування інформації є абетка Морзе (див. рис. 3).

Мал. 3. Абетка Морзе ()

В абетці Морзе використовується всього 2 символи - точка та тире (короткий і довгий звук).

Ще одним прикладом кодування інформації є прапорцева абетка (див. рис. 4).

Мал. 4. Прапорцева абетка ()

Також прикладом є абетка прапорів (див. рис. 5).

Мал. 5. Абетка прапорів ()

Усім відомий приклад кодування – нотна абетка (див. рис. 6).

Мал. 6. Нотна абетка ()

Розглянемо таке завдання:

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

Мал. 7

Старший помічник Лом складає іспит капітану Врунгелю. Допоможіть йому прочитати наступний текст (див. мал. 8):

Навколо нас існують переважно два сигнали, наприклад:

Світлофор: червоний – зелений;

Питання: так – ні;

Лампа: горить – не горить;

Можна – не можна;

Добре погано;

Істина – брехня;

Вперед назад;

Є немає;

Все це сигнали, що позначають кількість інформації на 1 біт.

1 біт - це така кількість інформації, яка дозволяє нам вибрати один варіант із двох можливих.

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

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

Це електричні сигнали: проходить струм чи не проходить струм.

Машинна двійкова мова - послідовність "0" та "1". Кожне двійкове число може набувати значення 0 або 1.

Кожна цифра двійкового машинного коду несе кількість інформації, що дорівнює 1 біт.

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

Рядок з 8 бітів називається б айт . Цей рядок комп'ютер обробляє як окремий символ (число, букву).

Розглянемо приклад. Слово ALICE складається з 5 букв, кожна з яких мовою комп'ютера представлена ​​одним байтом (див. рис. 10). Отже, Alice можна виміряти як 5 байт.

Мал. 10. Двійковий код (Джерело)

Крім біта та байта, існують й інші одиниці виміру інформації.

Список літератури

1. Босова Л.Л. Інформатика та ІКТ: Підручник для 5 класу. - М: БІНОМ. Лабораторія знань, 2012

2. Босова Л.Л. Інформатика: Робочий зошит для 5 класів. - М: БІНОМ. Лабораторія знань, 2010

3. Босова Л.Л., Босова А.Ю. Уроки інформатики у 5-6 класах: Методичний посібник. - М: БІНОМ. Лабораторія знань, 2010

2. Фестиваль "Відкритий урок" ().

Домашнє завдання

1. §1.6, 1.7 (Босова Л.Л. Інформатика та ІКТ: Підручник для 5 класу).

2. Стор. 28, завдання 1, 4; стор 30, завдання 1, 4, 5, 6 (Босова Л.Л. Інформатика та ІКТ: Підручник для 5 класу).

Двійковий код- це подання інформації шляхом поєднання символів 0 або 1. Іноді буває дуже складно зрозуміти принцип кодування інформації у вигляді цих двох чисел, проте ми намагатимемося все докладно роз'яснити.

До речі, на нашому сайті ви можете перекласти будь-який текст у десятковий, шістнадцятковий, двійковий код, скориставшись Калькулятором кодів онлайн.

Бачачи щось вперше, ми часто питаємо логічне питання про те, як це працює. Будь-яка нова інформація сприймається нами, як щось складне або створене виключно для розгляду здалеку, проте для людей, які бажають дізнатися детальніше про двійковому коді, відкривається нехитра істина - бінарний код зовсім не складний для розуміння, як нам здається. Наприклад, англійська літера T в двійковій системінабуде такого вигляду - 01010100, E - 01000101 і буква X - 01011000. Виходячи з цього, розуміємо, що англійське слово TEXT у вигляді двійкового коду буде виглядати таким чином: 01010100 01000101 010100 , ну а ми вважаємо за краще бачити його у викладі букв алфавіту.

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

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

Щоб перевести числа з десяткової системи числення в двійкову, користуються "алгоритмом заміщення", що складається з такої послідовності дій:

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

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

3. Продовжуємо ділити, обчислюючи число двійкової системи з залишку, доки дійдемо до числа, яке ділити не можна - 0.

4. Зараз вважається, що двійковий код готовий.

Наприклад переведемо в двійкову систему число 7:

1. 7: 2 = 3.5. Оскільки залишок є записуємо першим числом двійкового коду 1.

2. 3: 2 = 1.5. Повторюємо процедуру з вибором числа коду між 1 та 0 залежно від залишку.

3. 1: 2 = 0.5. Знову вибираємо 1 за тим самим принципом.

4. В результаті отримуємо, переведений із десяткової системи числення до двійкової, код - 111.

Таким чином можна перекладати безліч чисел. Тепер спробуємо зробити навпаки – перевести число з двійкової до десяткової.

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

Для цього нам потрібно пронумерувати наше двійкове число 111 з кінця, починаючи з нуля. Для 111 це 1^2 1^1 1^0. Виходячи з цього номер для числа послужить його ступенем. Далі виконуємо дії за формулою: (x * 2 ^ y) + (x * 2 ^ y) + (x * 2 ^ y), де x - порядкове число двійкового коду, а y - ступінь цього числа. Підставляємо наше двійкове число під цю формулу та рахуємо результат. Отримуємо: (1 * 2 ^ 2) + (1 * 2 ^ 1) + (1 * 2 ^ 0) = 4 + 2 + 1 = 7.

Дещо з історії двійкової системи числення.

Вважають, що вперше двійкову системузапропонував Готфрід Вільгельм Лейбніц, який вважав систему корисною у складних математичних обчисленнях та науці. Але за деякими даними, до його пропозиції про двійкову систему числення, в Китаї з'явився настінний напис, який розшифровувався при використання двійкового коду. На написі були зображені довгі та короткі палички. Припускаючи, що це довга 1, а коротка паличка - 0, є частка ймовірності, що у Китаї ідея двійкового коду існувала багатьом раніше його офіційного відкриття. Розшифровка коду визначила там лише просте натуральне число, проте це факт, який їм залишається.