010 двійковий код. Двійковий код – де і як застосовується? Подання двійкового коду з плаваючою комою

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

Як комп'ютер примудряється обробляти таку різноманітну інформацію?
Секрет полягає у двійковій системі обчислення. Всі дані надходять у комп'ютер, представлені у вигляді одиниць і нулів, кожному з яких відповідає один стан електропроводу: одиницям - висока напруга, нулям - низька або одиницям - наявність напруги, нулям - його відсутність. Перетворення даних у нулі та одиниці називається двійковою конверсією, а остаточне їх позначення – двійковим кодом.
У десятковому позначенні, заснованому на десятковій системі обчислення, яка використовується в повсякденному житті, числове значення представлене десятьма цифрами від 0 до 9, і кожне місце в числі має цінність у десять разів вищу, ніж місце праворуч від нього. Щоб уявити число більше дев'яти в десятковій системі обчислення, його місце ставиться нуль, але в наступне, більш цінне місце зліва - одиниця. Так само в двійковій системі, де використовуються тільки дві цифри - 0 і 1, кожне місце вдвічі цінніше, ніж місце праворуч від нього. Таким чином, у двійковому коді тільки нуль і одиниця можуть бути зображені як одномісні числа, і будь-яке число більше одиниці вимагає вже два місця. Після нуля і одиниці наступні три двійкові числа це 10 (читається один-нуль) і 11 (читається один-один) і 100 (читається один-нуль). 100 двійкової системи еквівалентно 4 десятковій. На верхній таблиці праворуч показані інші двійково-десяткові еквіваленти.
Будь-яке число може бути виражене у двійковому коді, просто воно займе більше місця, ніж у десятковому позначенні. У двійковій системі можна записати і абетку, якщо за кожною літерою закріпити певне двійкове число.

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

Біти та байти

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

Двійкова конверсія. Чотирьохцифровий двійковий код може подати десяткові числа від 0 до 15.

Кодові таблиці

Коли двійковий код використовується для позначення літер алфавіту або пунктуаційних знаків, потрібні кодові таблиці, в яких зазначено, який код символу відповідає. Складено декілька таких кодів. Більшість ПК пристосовані під семицифровий код, що називається ASCII, або американський стандартний код для інформаційного обміну. На таблиці справа показані коди ASCII для англійського алфавіту. Інші коди призначені для тисяч символів та алфавітів інших мов світу.

Частина таблиці коду ASCII

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

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

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

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

Оновлення!

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

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

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

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

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

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

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

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

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

Своя система існує і в обчислювальній техніці – вона називається двійковим кодуваннямі заснована на поданні даних послідовністю всього двох знаків: 0 та 1. Ці знаки називаються двійковими цифрами,по англійськи - binary digitабо скорочено hit (біт).

Одним бітом можуть бути виражені два поняття: 0 чи 1 (такабо ні, чорнеабо біле, істинаабо брехняі т.п.). Якщо кількість бітів збільшити до двох, то вже можна виразити чотири різні поняття:

Три біти можна закодувати вісім різних значень:

000 001 010 011 100 101 110 111

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

де N-кількість незалежних значень, що кодуються;

т -розрядність двійкового кодування, прийнята у цій системі.

Кодування цілих та дійсних чисел

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

Таким чином, 19 = 10011;

Для кодування цілих чисел від 0 до 255 достатньо мати 8 розрядів двійкового коду (8 біт). Шістнадцять біт дозволяють закодувати цілі числа від 0 до 65535, а 24 біти - вже більше 16,5 мільйонів різних значень.

Для кодування дійсних чисел використовують 80-розрядне кодування. При цьому число попередньо перетворюється на нормалізовану форму:

3,1415926 =0,31415926-10"

300 000 = 0,3 10 6

123 456 789 = 0,123456789 10 10

Перша частина числа називається мантисою,а друга - характеристикою.Більшість з 80 біт відводять для зберігання мантиси (разом зі знаком) і деяку фіксовану кількість розрядів відводять для зберігання характеристики (теж зі знаком).

Кодування текстових даних

Якщо кожному символу алфавіту можна порівняти певне ціле число (наприклад, порядковий номер), то за допомогою двійкового коду можна кодувати текстову інформацію. Восьми двійкових розрядів достатньо для кодування 256 різних символів. Цього вистачить, щоб висловити різними комбінаціями восьми бітів всі символи англійської та російської мов, як малі, так і великі, а також розділові знаки, символи основних арифметичних дій і деякі загальноприйняті спеціальні символи, наприклад символ «§».

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

Для англійської мови, яка захопила де-факто нішу міжнародного засобу спілкування, протиріччя вже знято. Інститут стандартизації США (ANSI - American National Standard Institute)ввів у дію систему кодування ASCII (American Standard Code for Information Interchange – стандартний код інформаційного обміну США).В системі ASCIIзакріплено дві таблиці кодування - базоваі розширена.Базова таблиця закріплює значення кодів від 0 до 127, а розширена відноситься до символів із номерами від 128 до 255.

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

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

Аналогічні системи кодування текстових даних розробили й інших країнах. Так, наприклад, у СРСР у цій галузі діяла система кодування КОІ-7 (код обміну інформацією, семизначний).Однак підтримка виробників обладнання та програм вивела американський код ASCIIна рівень міжнародного стандарту, і національним системам кодування довелося «відступити» у другу, розширену частину системи кодування, що визначає значення кодів з 128 по 255. Відсутність єдиного стандарту в цій галузі призвела до множинності кодувань, що одночасно діють. Тільки в Росії можна вказати три діючі стандарти кодування та ще два застарілі.

Так, наприклад, кодування символів російської мови, відоме як кодування Windows-1251,була введена "ззовні" - компанією Microsoft, але, враховуючи широке поширення операційних систем та інших продуктів цієї компанії в Росії, вона глибоко закріпилася і знайшла широке поширення. Це кодування використовується на більшості локальних комп'ютерів, які працюють на платформі Windows.

Інше поширене кодування зветься КОІ-8 (код обміну інформацією, восьмизначний) -її походження відноситься до часів дії Ради Економічної Взаємодопомоги держав Східної Європи. Сьогодні кодування КОІ-8 має широке поширення в комп'ютерних мережах на території Росії та в російському секторі Інтернету.

Міжнародний стандарт, в якому передбачено кодування символів російського алфавіту, має назву кодування ISO (International Standard Organization – Міжнародний інститут стандартизації).На практиці це кодування використовується рідко.

На комп'ютерах, що працюють в операційних системах MS-DOS,можуть діяти ще два кодування (кодування ГОСТ такодування ГОСТ-альтернативна).Перша з них вважалася застарілою навіть у перші роки появи персональної обчислювальної техніки, але друга використовується і сьогодні.

У зв'язку з достатком систем кодування текстових даних, які у Росії, виникає завдання міжсистемного перетворення даних - це з поширених завдань інформатики.

Універсальна система кодування текстових даних

Якщо проаналізувати організаційні проблеми, пов'язані зі створенням єдиної системи кодування текстових даних, можна дійти невтішного висновку, що вони викликані обмеженим набором кодів (256). У той самий час очевидно, що й, наприклад, кодувати символи не восьмиразрядными двійковими числами, а числами з великою кількістю розрядів, то діапазон можливих значень кодів стане набагато більше. Така система, що базується на 16-розрядному кодуванні символів, отримала назву універсальна - UNICODE.Шістнадцять розрядів дозволяють забезпечити унікальні коди для 65536 різних символів - цього поля достатньо для розміщення в одній таблиці символів більшості мов планети.

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

Кодування графічних даних

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

Мал. 1. Растр - це метод кодування графічної інформації, здавна прийнятий у поліграфії

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

Для кодування кольорових графічних зображень застосовується принцип декомпозиціїдовільного кольору основні складові. Як такі складові використовують три основні кольори: червоний (Red, R),зелений (Green, G)і синій (Blue, B).Насправді вважається (хоча теоретично це зовсім так), що будь-який колір, видимий людським оком, можна отримати шляхом механічного змішування цих трьох основних кольорів. Така система кодування називається системою RGBза першими буквами назв основних кольорів.

Якщо для кодування яскравості кожної з основних складових використовувати по 256 значень (вісім двійкових розрядів), як це прийнято для напівтонових чорно-білих зображень, то кодування кольору однієї точки треба витратити 24 розряду. При цьому система кодування забезпечує однозначне визначення 16,5 млн різних кольорів, що насправді близько до чутливості людського ока. Режим представлення кольорової графіки з використанням 24 двійкових розрядів називається повнокольоровим (True Color).

Кожному з основних кольорів можна поставити додатковий колір, тобто колір, що доповнює основний колір до білого. Неважко помітити, що для будь-якого з основних кольорів додатковим буде колір, утворений сумою кількох основних кольорів. Відповідно, додатковими кольорами є: блакитний (Cyan, С),пурпурний (Magenta, М)і жовтий ( Yellow, Y).Принцип декомпозиції довільного кольору на компоненти можна застосовувати не тільки для основних кольорів, але і для додаткових, тобто будь-який колір можна представити у вигляді суми блакитної, пурпурової та жовтої складової. Такий метод кодування кольору прийнято в поліграфії, але в поліграфії використовується ще й четверта фарба - чорна (Black, К).Тому дана система кодування позначається чотирма літерами. CMYK(чорний колір позначається буквою До,тому, що буква Увже зайнята синім кольором), і для представлення кольорової графіки в цій системі треба мати 32 двійкові розряди. Такий режим теж називається повнокольоровим. (True Color).

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

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

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

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

Метод FM (Frequency Modulation)заснований на тому, що теоретично будь-який складний звук можна розкласти на послідовність найпростіших гармонійних сигналів різних частот, кожен з яких є правильною синусоїдою, а отже, може бути описаний числовими параметрами, тобто кодом. У природі звукові сигнали мають безперервний спектр, тобто аналогові. Їх розкладання в гармонійні ряди та подання у вигляді дискретних цифрових сигналів виконують спеціальні пристрої. аналогово-іфрові перетворювачі (АЦП).Зворотне перетворення для відтворення звуку, закодованого числовим кодом, виконують цифра-аналогові перетворювачі (ЦАП).При таких перетвореннях неминучими є втрати інформації, пов'язані з методом кодування, тому якість звукозапису зазвичай виходить не цілком задовільною і відповідає якості звучання найпростіших електромузичних інструментів з забарвленням, характерним для електронної музики. У той самий час даний метод кодування забезпечує дуже компактний код, і тому знайшов застосування ще роки, коли ресурси засобів обчислювальної техніки були явно недостатні.

Метод таблично-хвильового ( Wave-Table)синтезу найкраще відповідає сучасному рівню розвитку техніки. Якщо говорити спрощено, то можна сказати, що десь у заздалегідь підготовлених таблицях зберігаються зразки звуків для багатьох різних музичних інструментів (хоча не тільки для них). У техніці такі зразки називають семпламі.Числові коди виражають тип інструменту, номер його моделі, висоту тону, тривалість та інтенсивність звуку, динаміку його зміни, деякі параметри середовища, в якому відбувається звучання, а також інші параметри, що характеризують особливості звуку. Оскільки як зразки використовуються «реальні» звуки, то якість звуку, отриманого в результаті синтезу, виходить дуже високою і наближається до якості звучання реальних музичних інструментів.

Основні структури даних

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

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

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

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

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

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

Розшифровка бінарного коду

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

Розшифровка бінарного коду: бітовий рядок, що інтерпретується як бінарне число, може бути переведений у десяткове число. Наприклад, нижній регістр літери a, якщо він представлений бітовим рядком 01100001 (як і в стандартному коді ASCII), також може бути представлений як десяткове число 97. Переведення бінарного коду в текст є такою ж процедурою, тільки в зворотному порядку.

Як це працює

Із чого складається бінарний код? Код, що використовується в цифрових комп'ютерах, заснований на якій є лише два можливі стани: увімк. і викл., які зазвичай позначаються нулем і одиницею. Якщо в десятковій системі, яка використовує 10 цифр, кожна позиція кратна 10 (100, 1000 і т. д.), то в двійковій системі кожне цифрове положення кратне 2 (4, 8, 16 тощо). Сигнал двійкового коду є серією електричних імпульсів, які представляють числа, символи та операції, які необхідно виконати.

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

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

Відгуки про бінарний код

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

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

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

Двійкове число

В математиці та цифровій електроніці двійкове число - це число, виражене в системі числення base-2 або двійковій цифровій системі, яка використовує лише два символи: 0 (нуль) та 1 (один).

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

Історія

Сучасна бінарна система чисел як основа для двійкового коду була винайдена Готфрідом Лейбніцем в 1679 році і представлена ​​в його статті «Пояснення бінарної арифметики». Бінарні цифри були центральними для теології Лейбніца. Він вважав, що двійкові числа символізують християнську ідею творчості ex nihilo, чи творіння з нічого. Лейбніц намагався знайти систему, яка перетворює вербальні висловлювання логіки в суто математичні дані.

Бінарні системи, що передували Лейбніцу, також існували у стародавньому світі. Прикладом може бути китайська бінарна система І Цзин, де текст для передбачення грунтується на двоїстості інь і ян. В Азії та Африці використовувалися щілинні барабани з бінарними тонами для кодування повідомлень. Індійський вчений Пінгала (близько 5 століття до н.е.) розробив бінарну систему для опису просодії у своєму творі «Чандашутрема».

Жителі острова Мангарьова у Французькій Полінезії використовували гібридну бінарно-десяткову систему до 1450 року. У XI столітті вчений і філософ Шао Юн розробив метод організації гексаграм, який відповідає послідовності від 0 до 63, як представлено в бінарному форматі, причому інь дорівнює 0, янь - 1. Порядок також є лексикографічним порядком у блоках елементів, вибраних із двоелементного набору.

Новий час

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

Інший математик і філософ на ім'я Джордж Бул опублікував в 1847 статтю під назвою «Математичний аналіз логіки», в якій описується алгебраїчна система логіки, відома сьогодні як булева алгебра. Система була заснована на бінарному підході, що складався з трьох основних операцій: AND, OR та NOT. Ця система не була введена в експлуатацію, поки аспірант з Массачусетського технологічного інституту на ім'я Клод Шеннон не помітив, що булева алгебра, яку він вивчив, була схожа на електричний ланцюг.

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

Інші форми двійкового коду

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

Брайль - це тип двійкового коду, який широко використовується сліпими людьми для читання та запису на дотик, названий на ім'я його творця Луї Брайля. Ця система складається з сіток по шість точок у кожній, по три на стовпець, у якому кожна точка має два стани: підняті чи поглиблені. Різні комбінації точок здатні представляти всі літери, цифри та знаки пунктуації.

Американський стандартний код обміну інформацією (ASCII) використовує 7-бітовий двійковий код для представлення тексту та інших символів у комп'ютерах, устаткуванні зв'язку та інших пристроях. Кожній літері або символу надається номер від 0 до 127.

Двійково-кодоване десяткове значення або BCD — це двійкове кодоване уявлення цілих чисел, яке використовує 4-бітний граф для кодування десяткових цифр. Чотири двійкові біти можуть кодувати до 16 різних значень.

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

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

Застосування

Більшість сучасних комп'ютерів використовують програму бінарного коду для інструкцій та даних. Компакт-диски, DVD-диски та диски Blu-ray представляють звук та відео у двійковій формі. Телефонні дзвінки переносяться у цифровому вигляді в мережах міжміського та мобільного телефонного зв'язку з використанням імпульсно-кодової модуляції та в мережах передачі голосу по IP.


Аріабхата
Кирилічна
Грецька Грузинська
Ефіопська
Єврейська
Акшара-санкхья Інші Вавилонська
Єгипетська
Етруська
Римська
Дунайська Аттична
Кіпу
Майяська
Егейська
Символи КППУ Позиційні , , , , , , , , , , Нега-позиційна Симетрична Змішані системи Фібоначчієва Непозиційні Поодинока (унарна)

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

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

У двійковій системі числення записуються за допомогою двох символів ( 0 і 1 ). Щоб не плутати, в якій системі числення записано число, його постачають вказівником праворуч унизу. Наприклад, число в десятковій системі 5 10 , у двійковій 101 2 . Іноді двійкове число позначають префіксом 0bабо символом & (амперсанд), наприклад 0b101або відповідно &101 .

У двійковій системі числення (як і інших системах числення, крім десяткової) знаки читаються по одному. Наприклад, число 101 2 вимовляється "один нуль один".

Натуральні числа

Натуральне число, що записується в двійковій системі числення як (a n − 1 a n − 2 … a 1 a 0) 2 (\displaystyle (a_(n-1)a_(n-2)\dots a_(1)a_(0))_(2)), має значення:

(a n − 1 a n − 2 … a 1 a 0) 2 = ∑ k = 0 n − 1 a k 2 k , (\displaystyle (a_(n-1)a_(n-2)\dots a_(1)a_( 0))_(2)=\sum _(k=0)^(n-1)a_(k)2^(k),)

Негативні числа

Негативні двійкові числа позначаються як і десяткові: знаком «−» перед числом. А саме, негативне ціле число, що записується в двійковій системі числення (− a n − 1 a n − 2 … a 1 a 0) 2 (\displaystyle (-a_(n-1)a_(n-2)\dots a_(1)a_(0))_(2)), має величину:

(− a n − 1 a n − 2 … a 1 a 0) 2 = − ∑ k = 0 n − 1 a k 2 k . (\displaystyle (-a_(n-1)a_(n-2)\dots a_(1)a_(0))_(2)=-\sum _(k=0)^(n-1)a_( k)2^(k).)

додатковому коді.

Дробові числа

Дробове число, що записується в двійковій системі числення як (a n − 1 a n − 2 … a 1 a 0 , a − 1 a − 2 … a − (m − 1) a − m) 2 (\displaystyle (a_(n-1)a_(n-2)\dots a_(1)a_(0),a_(-1)a_(-2)\dots a_(-(m-1))a_(-m))_(2)), має величину:

(a n − 1 a n − 2 … a 1 a 0 , a − 1 a − 2 … a − (m − 1) a − m) 2 = ∑ k = − m n − 1 ak 2 k , (\displaystyle (a_( n-1)a_(n-2)\dots a_(1)a_(0),a_(-1)a_(-2)\dots a_(-(m-1))a_(-m))_( 2)=\sum _(k=-m)^(n-1)a_(k)2^(k),)

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

Таблиця додавання

Приклад додавання «стовпчиком» (десятковий вираз 14 10 + 5 10 = 19 10 у двійковому вигляді виглядає як 1110 2 + 101 2 = 10011 2):

Приклад множення «стовпчиком» (десятковий вираз 14 10 * 5 10 = 70 10 у двійковому вигляді виглядає як 1110 2 * 101 2 = 1000 110 2):

Починаючи з цифри 1, всі цифри множаться на два. Крапка, яка стоїть після 1, називається двійковою точкою.

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

Припустимо, дано двійкове число 110001 2 . Для переведення в десяткове запишіть його як суму за розрядами так:

1 * 2 5 + 1 * 2 4 + 0 * 2 3 + 0 * 2 2 + 0 * 2 1 + 1 * 2 0 = 49

Те саме трохи інакше:

1 * 32 + 1 * 16 + 0 * 8 + 0 * 4 + 0 * 2 + 1 * 1 = 49

Можна записати це у вигляді таблиці так:

512 256 128 64 32 16 8 4 2 1
1 1 0 0 0 1
+32 +16 +0 +0 +0 +1

Рухайтеся праворуч наліво. Під кожною двійковою одиницею напишіть її еквівалент у рядку нижче. Складіть десяткові числа. Таким чином, двійкове число 110 001 2 рівнозначно десятковому 49 10 .

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

Потрібно перевести число 1011010,101 2 у десяткову систему. Запишемо це число таким чином:

1 * 2 6 + 0 * 2 5 + 1 * 2 4 + 1 * 2 3 + 0 * 2 2 + 1 * 2 1 + 0 * 2 0 + 1 * 2 −1 + 0 * 2 −2 + 1 * 2 −3 = 90,625

Те саме трохи інакше:

1 * 64 + 0 * 32 + 1 * 16 + 1 * 8 + 0 * 4 + 1 * 2 + 0 * 1 + 1 * 0,5 + 0 * 0,25 + 1 * 0,125 = 90,625

Або за таблицею:

64 32 16 8 4 2 1 0.5 0.25 0.125
1 0 1 1 0 1 0 , 1 0 1
+64 +0 +16 +8 +0 +2 +0 +0.5 +0 +0.125

Перетворення методом Горнера

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

Наприклад, двійкове число 1011011 2 переводиться в десяткову систему так:

0*2 + 1 = 1
1*2 + 0 = 2
2*2 + 1 = 5
5*2 + 1 = 11
11*2 + 0 = 22
22*2 + 1 = 45
45*2 + 1 = 91

Тобто у десятковій системі це число буде записано як 91.

Переклад дробової частини чисел методом Горнера

Цифри беруться праворуч наліво і діляться на основу системи числення (2).

Наприклад 0,1101 2

(0 + 1 )/2 = 0,5
(0,5 + 0 )/2 = 0,25
(0,25 + 1 )/2 = 0,625
(0,625 + 1 )/2 = 0,8125

Відповідь: 0,1101 2 = 0,8125 10

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

Припустимо, нам потрібно перевести число 19 у двійкове. Ви можете скористатися наступною процедурою:

19/2 = 9 із залишком 1
9/2 = 4 з залишком 1
4/2 = 2 без залишку 0
2/2 = 1 без залишку 0
1/2 = 0 із залишком 1

Отже, ми ділимо кожне приватне на 2 та записуємо залишок у кінець двійкового запису. Продовжуємо поділ до тих пір, поки в приватному не буде 0. Результат записуємо праворуч наліво. Тобто нижня цифра (1) буде найлівішою і т. д. У результаті отримуємо число 19 у двійковому записі: 10011 .

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

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

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

Приклад: Потрібно перекласти дробове десяткове число 206,116 у дрібне двійкове число.

Переклад цілої частини дає 20610 = 110011102 за раніше описаними алгоритмами. Дробну частину 0,116 множимо на основу 2, заносячи цілі частини твору в розряди після коми дробового двійкового числа, що шукається:

0,116 2 = 0 ,232
0,232 2 = 0 ,464
0,464 2 = 0 ,928
0,928 2 = 1 ,856
0,856 2 = 1 ,712
0,712 2 = 1 ,424
0,424 2 = 0 ,848
0,848 2 = 1 ,696
0,696 2 = 1 ,392
0,392 2 = 0 ,784
і т.д.

Таким чином 0,116 10 ≈ 0, 0001110110 2

Отримаємо: 206,116 10 ≈ 11001110,0001110110 2

Застосування

У цифрових пристроях

Двійкова система використовується в цифрових пристроях, оскільки є найпростішою і відповідає вимогам:

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

У обчислювальної техніки широко використовується запис негативних двійкових чисел у додатковому коді. Наприклад, число −5 10 може бути записано як −101 2 але у 32-бітному комп'ютері зберігатиметься як 2 .

В англійській системі заходів

При вказівці лінійних розмірів у дюймах за традицією використовують двійкові дроби, а не десяткові, наприклад: 5?", 7 15/16", 3 11/32" і т.д.

Узагальнення

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

Історія

  • Повний набір з 8 триграм та 64 гексаграм, аналог 3-бітних і 6-бітних цифр, був відомий у стародавньому Китаї в класичних текстах книги Змін. Порядок гексаграм у книзі Змін, розташованих відповідно до значення відповідних двійкових цифр (від 0 до 63), і метод їх отримання був розроблений китайським вченим і філософом Шао Юн в XI столітті. Однак немає доказів, що свідчать про те, що Шао Юн розумів правила двійкової арифметики, маючи двосимвольні кортежі в лексикографічному порядку.
  • Набори, що є комбінації двійкових цифр, використовувалися африканцями в традиційних ворожіннях (таких як ІФА) поряд із середньовічною геомантією.
  • У 1854 році англійський математик Джордж Буль опублікував знакову роботу, що описує алгебраїчні системи стосовно логіки, яка в даний час відома як Булева алгебра або логіки алгебри. Його логічному обчисленню судилося зіграти значної ролі у створенні сучасних цифрових електронних схем.
  • 1937 року Клод Шеннон представив до захисту кандидатську дисертацію. Символічний аналіз релейних та перемикальних схемв , в якій алгебра булева і двійкова арифметика були використані стосовно електронних реле і перемикачів. На дисертації Шеннона сутнісно заснована вся сучасна цифрова техніка.
  • У листопаді 1937 року Джордж Штібіц, який згодом працював у Bell Labs, створив на базі реле комп'ютер «Model K» (від англ. « K itchen», кухня, де проводилося складання), який виконував двійкове додавання. Наприкінці 1938 року Bell Labs розгорнула дослідницьку програму на чолі зі Штибіцем. Створений під його керівництвом комп'ютер, завершений 8 січня 1940, умів виконувати операції з комплексними числами. Під час демонстрації на конференції American Mathematical Society у Дартмутському коледжі 11 вересня 1940 року Штібіц продемонстрував можливість надсилання команд віддаленому калькулятору комплексних чисел по телефонній лінії з використанням телетайпу. Це була перша спроба використання дистанційної обчислювальної машини за допомогою телефонної лінії. Серед учасників конференції, які були свідками демонстрації, були Джон фон Нейман, Джон Моклі та Норберт Вінер, які згодом писали про це у своїх мемуарах.
  • На фронтоні будівлі (колишнього Обчислювального Центру СО АН СРСР) у Новосибірському Академмістечку присутнє двійкове число 1000110, що дорівнює 70 10 , що символізує дату спорудження будівлі (