08. 06.2018

Блог Дмитра Вассіярова.

Двійковий код – де і як застосовується?

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

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

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

Навіщо потрібний двійковий код?

До появи ЕОМ використовувалися різні автоматичні системи, принцип роботи яких ґрунтується на отриманні сигналу. Спрацьовує датчик, ланцюг замикається і вмикається певний пристрій. Немає струму в сигнальному ланцюзі – немає спрацьовування. Саме електронні пристрої дозволили досягти прогресу в обробці інформації, представленої наявністю або відсутністю напруги в ланцюзі.

Подальше їхнє ускладнення призвело до появи перших процесорів, які так само виконували свою роботу, обробляючи вже сигнал, що складається з імпульсів, що чергуються певним чином. Ми зараз не будемо вникати в програмні подробиці, але для нас важливо наступне: електронні пристрої виявилися здатними розрізняти задану послідовність сигналів, що надходять. Звісно, ​​можна й так описати умовну комбінацію: «є сигнал»; "немає сигналу"; "є сигнал"; "є сигнал". Навіть можна спростити запис: є; "ні"; "є"; "є".

Але набагато простіше позначити наявність сигналу одиницею «1», яке відсутність – нулем «0». Тоді ми замість цього зможемо використовувати простий і лаконічний двійковий код: 1011.

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

Але для їх запису використовується той самий двійковий код, що складається з нулів і одиниць, що відповідає наявності або відсутності сигналу. Є він, або його немає – не має значення. Для чіпа будь-який із цих варіантів – це поодинока частинка інформації, яка отримала назву «біт» (bit – офіційна одиниця виміру).

Умовно символ можна закодувати послідовністю з кількох знаків. Двома сигналами (або їх відсутністю) можна описати лише чотири варіанти: 00; 01; 10; 11. Такий спосіб кодування називається двобітним. Але він може бути:

  • Чотирьохбітний (як у прикладі на абзац вище 1011) дозволяє записати 2^4 = 16 комбінацій-символів;
  • Восьмибітним (наприклад: 0101 0011; 0111 0001). У свій час він представляв найбільший інтерес для програмування, оскільки охоплював 2^8 = 256 значень. Це давало змогу описати всі десяткові цифри, латинський алфавіт та спеціальні знаки;
  • Шістнадцятибітним (1100 1001 0110 1010) та вище. Але записи з такою довгою – це вже для сучасних складніших завдань. Сучасні процесори використовують 32-х та 64-х бітну архітектуру;

Скажу чесно, єдиної офіційної версії немає, то так склалося, що саме комбінація з восьми знаків стала стандартним заходом інформації, що зберігається, що називається «байт». Така могла застосовуватися навіть до однієї літери, записаної 8-бітним двійковим кодом. Отже, дорогі мої друзі, запам'ятайте будь ласка (якщо хтось не знав):

8 біт = 1 байт.

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

Бінарне кодування у дії

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

  • перший 31 символ - керуючі (з 00000000 до 00011111). Служать для службових команд, виведення на принтер чи екран, звукових сигналів, форматування тексту;
  • наступні з 32 по 127 (00100000 – 01111111) латинський алфавіт та допоміжні символи та розділові знаки;
  • інші, до 255-го (10000000 - 11111111) - альтернативна, частина таблиці для спеціальних завдань та відображення національних алфавітів;

Розшифрування значень у ній показано у таблиці.

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

  • Байт із 8 знаків читатимемо праворуч наліво;
  • Якщо у звичайних числах у нас використовуються розряди одиниць, десятків, сотень, то тут (читаючи у зворотному порядку) для кожного біта представлені різні ступені «двійки»: 256-124-64-32-16-8-4-2-1;
  • Тепер дивимося на двійковий код числа, наприклад 00011011. Там, де у відповідній позиції є сигнал «1» – беремо значення цього розряду та підсумовуємо їх звичним способом. Відповідно: 0+0+0+32+16+0+2+1 = 51. У правильності цього методу ви можете переконатись, поглянувши на таблицю кодів.

Тепер, мої допитливі друзі, ви не тільки знаєте, що таке двійковий код, але і вмієте перетворити зашифровану ним інформацію.

Мова, зрозуміла сучасній техніці

Звичайно, алгоритм зчитування двійкового коду процесорними пристроями набагато складніший. Але його допомогою можна записати все що завгодно:

  • Текстову інформацію із параметрами форматування;
  • Числа та будь-які операції з ними;
  • Графічні та відео зображення;
  • Звуки, у тому числі й ті, що виходять і за межу нашої чутності;

Крім цього, завдяки простоті «викладу» можливі різні способи запису бінарної інформації:

  • Зміною магнітного поля на ;
  • Доповнює переваги двійкового кодування практично необмежені можливості передачі інформації на будь-які відстані. Саме такий спосіб зв'язку використовується з космічними кораблями та штучними супутниками.

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

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

    Я ж прощатимусь і після невеликої перерви підготую для вас нову статтю мого блогу, на якусь цікаву тему.

    Краще, якщо ви самі її мені підкажіть;)

    До зустрічі.

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

    Для перетворення тексту на бінарне поданнявведіть текст у ліве віконце і натисніть TEXT->BIN у правому вікні з'явиться його двійкове уявлення.

    Для перетворення бінарного коду на текствведіть код у праве віконце і натисніть BIN->TEXT у лівому вікні з'явиться його символьне уявлення.

    У разі якщо переклад бінарного коду в текстабо навпаки не вийшов – перевірте коректність ваших даних!

    Оновлення!

    Тепер доступне зворотне перетворення тексту вигляду:

    у нормальний вигляд. Для цього потрібно поставити галочку: "Замінити 0 пробілами, а 1 заповнювачем █". Потім вставте текст у праве віконце: "Текст у бінарній виставі" і натисніть кнопку під ним "BIN->TEXT".

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

    ██ █ █ ███████ █ ██ ██ █ █ ███ ██ █ █ ██ █ ██ █ █ ██ █ ███ █ ██ █ █ ██ █ █ ███ ██ █ █ ███ ██ █ ██

    а на червоному тлі:

    ██ █ █ ███████ █ ██ ██ █ █ ███ ██ █ █ ██ █ ██ █ █ ██ █ ███ █ ██ █ █ ██ █ █ ███ ██ █ █ ███ ██ █ ██

    бачите скільки прогалин наприкінці можна втратити?

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

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

    Посилання

    • Онлайн калькулятор для переведення чисел з однієї системи числення до іншої

    Wikimedia Foundation. 2010 .

    Дивитись що таке "Бінарний код" в інших словниках:

      2 бітний код Грея 00 01 11 10 3 бітний код Грея 000 001 011 010 110 111 101 100 4 бітний код Грея 0000 0001 0011 0010 0110 01 01 01 1 1110 1010 1011 1001 1000 Код Грея система числення, в якій два сусідніх значення … … Вікіпедія

      Код сигнальної точки (англ. Signal Point Code (SPC)) сигнальної системи 7 (SS7, ГКС 7) це унікальна (в домашній мережі) адреса вузла, що використовується на третьому рівні MTP (маршрутизація) в телекомунікаційних ГКС 7 мережах для ідентифікації … Вікіпедія

      У математиці безквадратним називається число, яке не ділиться на жодний квадрат, крім 1. Наприклад, 10 безквадратне, а 18 ні, оскільки 18 ділиться на 9 = 32. Початок послідовності безквадратних чисел таке: 1, 2, 3, 5, 6, 7, … … Вікіпедія

      Для покращення цієї статті бажано?: Вікіфікувати статтю. Переробити оформлення відповідно до правил написання статей. Виправити статтю згідно з стилістичними правилами Вікіпедії.

      Цей термін має й інші значення, див. Python (значення). Python Клас мови: му … Вікіпедія

      У вузькому значенні слова в даний час під словосполученням розуміється «Замах на систему безпеки», і схиляється скоріше до змісту наступного терміна «Крекерська атака». Це сталося через спотворення сенсу самого слова «хакер». Хакерська… … Вікіпедія

    Розрядність двійкового коду, Перетворення інформації з безперервної форми на дискретну, Універсальність двійкового кодування, Рівномірні та нерівномірні коди, Інформатика 7 клас Босова, Інформатика 7 клас

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

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

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

    Ланцюжки із трьох двійкових символів виходять доповненням дворозрядних двійкових кодів праворуч символом 0 або 1. У результаті кодових комбінацій із трьох двійкових символів виходить 8 - удвічі більше, ніж із двох двійкових символів:
    Відповідно, чотирирозрядний двійковий дозволяє отримати 16 кодових комбінацій, п'ятирозрядний - 32, шестирозрядний - 64 і т. д. Довжину двійкового ланцюжка - кількість символів у двійковому коді - називають розрядністю двійкового коду.
    Зверніть увагу, що:
    4 = 2 * 2,
    8 = 2 * 2 * 2,
    16 = 2 * 2 * 2 * 2,
    32 = 2 * 2 * 2 * 2 * 2 і т.д.
    Тут кількість кодових комбінацій є твір деякої кількості однакових множників, рівного розрядності двійкового коду.
    Якщо кількість кодових комбінацій позначити літерою N, а розрядність двійкового коду – літерою i, то виявлена ​​закономірність у загальному вигляді буде записана так:
    N = 2*2*...*2.
    i множників
    У математиці такі твори записують у вигляді:
    N = 2 i.
    Запис 2 i читають так: «2 у i-му ступені».

    Завдання. Вождь племені Мульті доручив своєму міністру розробити двійковий і перекласти у нього всю важливу інформацію. Двійковий який розрядності знадобиться, якщо алфавіт, який використовується племенем Мульти, містить 16 символів? Випишіть усі кодові комбінації.
    Рішення. Так як алфавіт племені Мульти складається з 16 символів, то і кодових комбінацій їм потрібно 16. У цьому випадку довжина (розрядність) двійкового коду визначається співвідношенням: 16 = 2 i . Звідси i = 4.
    Щоб виписати всі кодові комбінації із чотирьох 0 і 1, скористаємося схемою на рис. 1.13: 0000, 0001, 0010, 0011, 0100, 0101, 0110,0111,1000,1001,1010,1011,1100,1101,1110,1111.

    1.5.3. Універсальність двійкового кодування
    На початку цього параграфа ви дізналися, що представлена ​​в безперервній формі може бути виражена за допомогою символів деякої природної або формальної мови. У свою чергу, символи довільного алфавіту можуть бути перетворені на двійковий. Таким чином, за допомогою двійкового коду може бути представлена ​​будь-яка природними та формальними мовами, а також зображення та звуки (рис. 1.14). Це означає універсальність двійкового кодування.
    Двійкові коди широко використовуються в комп'ютерній техніці, вимагаючи лише двох станів електронної схеми - "включено" (це відповідає цифрі 1) та "вимкнено" (це відповідає цифрі 0).
    Простота технічної реалізації – головна перевага двійкового кодування. Недолік двійкового кодування - велика довжина коду, що отримується.

    1.5.4. Рівномірні та нерівномірні коди
    Розрізняють рівномірні та нерівномірні коди. Рівномірні коди кодових комбінаціях містять однакове число символів, нерівномірні - різне.
    Вище ми розглянули рівномірні двійкові коди.
    Прикладом нерівномірного коду може бути абетка Морзе, у якій кожної літери і цифри визначено послідовність коротких і довгих сигналів. Так, букві Е відповідає короткий сигнал («точка»), а букві Ш - чотири довгі сигнали (чотири «тире»). Нерівномірне дозволяє підвищити швидкість передачі повідомлень за рахунок того, що найбільш часто зустрічаються в інформації, що передається, мають найкоротші кодові комбінації.

    Інформація, яку дає цей символ, дорівнює ентропії системи та максимальна у разі, коли обидва стани рівноймовірні; у разі елементарний символ передає інформацію 1 (дв. од.). Тому основою оптимального кодування буде вимога, щоб елементарні символи в закодованому тексті зустрічалися в середньому однаково часто.

    Викладемо тут спосіб побудови коду, що задовольняє поставлену умову; цей спосіб відомий під назвою "коду Шеннона - Фено". Ідея його полягає в тому, що символи, що кодуються (літери або комбінації літер) поділяються на дві приблизно рівноймовірні групи: для першої групи символів на першому місці комбінації ставиться 0 (перший знак двійкового числа, що зображує символ); для другої групи - 1. Далі кожна група знову ділиться на дві приблизно рівноймовірні підгрупи; для символів першої підгрупи другою місці ставиться нуль; для другої підгрупи – одиниця тощо.

    Продемонструємо принцип побудови коду Шеннона – Фено на матеріалі російського алфавіту (табл. 18.8.1). Відрахуємо перші шість букв (від "-" до "т"); підсумовуючи їх ймовірності (частоти), отримаємо 0,498; на всі інші літери (від «н» до «сф») прийде приблизно така ж ймовірність 0,502. Перші шість літер (від «-» до «т») матимуть першому місці двійковий знак 0. Інші літери (від «н» до «ф») матимуть першому місці одиницю. Далі знову розділимо першу групу на дві приблизно рівноймовірні підгрупи: від "-" до "про" і від "е" до "т"; для всіх букв першої підгрупи на другому місці поставимо нуль, а другої підгрупи" - одиницю. Процес будемо продовжувати доти, поки в кожному підрозділі не залишиться рівно одна буква, яка і буде закодована певним двійковим числом. Механізм побудови коду показаний на таблиці 18.8 .2, а сам код наведено у таблиці 18.8.3.

    Таблиця 18.8.2.

    Двійкові знаки

    Таблиця 18.8.3

    За допомогою таблиці 18.8.3 можна закодувати та декодувати будь-яке повідомлення.

    Як приклад запишемо двійковим кодом фразу: «теорія інформації»

    01110100001101000110110110000

    0110100011111111100110100

    1100001011111110101100110

    Зауважимо, що тут немає необхідності відокремлювати один від одного букви спеціальним знаком, оскільки і без цього декодування виконується однозначно. У цьому вся можна переконатися, декодуючи з допомогою таблиці 18.8.2 наступну фразу:

    10011100110011001001111010000

    1011100111001001101010000110101

    010110000110110110

    («Спосіб кодування»).

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

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

    ,

    де - ймовірність того, що буква прийме певний стан («-», о, е, а, ..., ф).

    З табл. 18.8.1 маємо

    (Дв. одиниць на літеру тексту).

    За таблицею 18.8.2 визначаємо середню кількість елементарних символів на букву

    Ділячи ентропію на, отримуємо інформацію на один елементарний символ

    (Дв. од.).

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

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

    (дв. од.),

    тобто помітно менше, ніж при оптимальному буквеному кодуванні.

    Однак слід зауважити, що кодування «за буквами» взагалі не є економічним. Справа в тому, що між сусідніми літерами будь-якого осмисленого тексту завжди є залежність. Наприклад, після голосної літери російською мовою неспроможна стояти «ъ» чи «ь»; після шиплячих не можуть стояти "я" або "ю"; після кількох приголосних поспіль збільшується ймовірність голосної і т.д.

    Ми знаємо, що при об'єднанні залежних систем сумарна ентропія менша за суму ентропій окремих систем; отже, інформація, що передається відрізком зв'язкового тексту, завжди менше, ніж інформація на один символ, помножена на число символів. З урахуванням цієї обставини більш економний код можна побудувати, якщо кодувати не кожну букву окремо, а цілі блоки з букв. Наприклад, у російському тексті має сенс кодувати цілком деякі комбінації літер, що часто зустрічаються, як «ються», «ає», «не» і т. п. Кодовані блоки розташовуються в порядку зменшення частот, як літери в табл. 18.8.1, а двійкове кодування здійснюється за тим самим принципом.

    У ряді випадків виявляється розумним кодувати навіть блоки з літер, а цілі осмислені шматки тексту. Наприклад, для розвантаження телеграфу в передсвяткові дні доцільно кодувати умовними номерами цілі стандартні тексти, такі як:

    «Вітаю новим роком бажаю здоров'я успіхів роботі».

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

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

    Відома продуктивність джерела інформації, тобто середня кількість двійкових одиниць інформації, що надходить від джерела в одиницю часу (чисельно воно дорівнює середній ентропії повідомлення, яке виробляється джерелам в одиницю часу). Нехай, крім того, відома пропускна здатність каналу, тобто максимальна кількість інформації (наприклад, двійкових знаків 0 або 1), яка здатна передати канал у ту саму одиницю часу. Виникає питання: якою має бути пропускна здатність каналу, щоб він «справлявся» зі своїм завданням, тобто щоб інформація від джерела до приймача надходила без затримки?

    Відповідь це питання дає перша теорема Шеннона. Сформулюємо її тут без підтвердження.

    1-а теорема Шеннона

    Якщо пропускна здатність каналу зв'язку більша за ентропію джерела інформації в одиницю часу

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

    то передача інформації без затримок неможлива.

    Двійковий код- це подання інформації шляхом поєднання символів 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, є частка ймовірності, що у Китаї ідея двійкового коду існувала багатьом раніше його офіційного відкриття. Розшифровка коду визначила там лише просте натуральне число, проте це факт, який їм залишається.