Закодувати бінарний код. Двійковий код. Види та довжина двійкового коду. Зворотний двійковий код. Чому в комп'ютері використовується двійковий код

05.09.2023 Новини

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

Як складається двійкова форма запису?

Давайте розберемося, як формується такий ключ. Один розряд двійкового коду може містити лише два стани: нуль і одиницю (0 та 1). При використанні двох розрядів з'являється можливість записати чотири значення: 00, 01, 10, 11. Трирозрядний запис містить вісім станів: 000, 001...110, 111. У результаті отримуємо, що довжина двійкового коду залежить від числа розрядів. Цей вираз можна записати за допомогою наступної формули: N = 2m, де: m – це кількість розрядів, а N – число комбінацій.

Види двійкових кодів

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

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

  • беззнакові;
  • прямі цілізнакові коди;
  • знакові зворотні;
  • знакові додаткові;
  • код Грея;
  • код Грея-Експрес.;
  • дрібні коди.

Розглянемо детальніше кожен із них.

Беззнаковий двійковий код

Давайте розберемося, що ж є такий вид запису. У цілих беззнакових кодах кожен розряд (двійковий) є ступенем цифри два. При цьому найменше число, яке можна записати в такій формі, дорівнює нулю, а максимальне можна уявити такою формулою: М = 2 п -1. Ці два числа повністю визначають діапазон ключа, яким можна виразити такий двійковий код. Розгляньмо можливості згаданої форми запису. При використанні даного виду беззнакового ключа, що складається з восьми розрядів, діапазон можливих чисел становитиме від 0 до 255. Шістнадцятирозрядний код матиме діапазон від 0 до 65535. . Роботу із такими ключами забезпечують спеціальні команди.

Прямі цілі знакові коди

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

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

Знаковий зворотний ключ

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

Знаковий додатковий код двійкового числа

Цей вид запису немає перелічених недоліків попередніх ключів. Такі коди дозволяють проводити безпосереднє підсумовування як позитивних, і негативних чисел. У цьому немає аналіз знакового розряду. Все це стало можливим завдяки тому факту, що додаткові числа є природним кільцем символів, а не штучними утвореннями, такими як прямі та зворотні ключі. Більш того, важливим фактором є те, що зробити обчислення доповнень у двійкових кодах надзвичайно просто. Для цього достатньо до зворотного ключа додати одиницю. При використанні цього виду знакового коду, що складається з восьми розрядів, діапазон можливих чисел становитиме від -128 до +127. Шістнадцятирозрядний ключ матиме діапазон від -32768 до +32767. У восьмирозрядних процесорах для зберігання таких чисел також використовують два сусідні сектори.

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

Код Грею

Ця форма запису, власне, є однокроковим ключем. Тобто в процесі переходу від одного значення до іншого змінюється лише один біт інформації. При цьому похибка при зчитуванні даних призводить до переходу від одного до іншого положення з незначним зміщенням за часом. Однак отримання абсолютно невірного результату кутового положення за такого процесу повністю виключається. Перевагою такого коду є здатність дзеркально відображати інформацію. Наприклад, інвертуючи старші біти, можна просто змінювати напрямок відліку. Це відбувається завдяки входу Complement, що управляє. При цьому значення, що видається, може бути як зростаючим, так і спадаючим при одному фізичному напрямку обертання осі. Оскільки інформація, записана у ключі Грея, має виключно кодований характер, який несе реальних числових даних, перед подальшою роботою потрібно попередньо перетворити їх у звичайну бінарну форму записи. Здійснюється це за допомогою спеціального перетворювача – декодера Ґрей-Бінар. Цей пристрій легко реалізується на елементарних логічних елементах як апаратним, і програмним способом.

Код Грея-Експрес

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

Подання дробового числа у двійковому ключі з фіксованою комою

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

Подання двійкового коду з плаваючою комою

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

Вважається, що двійкове обчислення було винайдено на початку 18 століття математиком з Німеччини Готфрідом Лейбніцем. Однак, як нещодавно відкрили вчені, задовго до полінезійського острова Мангарьову використали цей вид арифметики. Незважаючи на те, що колонізація практично повністю знищила оригінальні системи обчислення, вчені відновили складні двійкові та десяткові види рахунку. Крім того, вчений Когнітивіст Нуньєс стверджує, що кодування двійковим кодом застосовувалося в стародавньому Китаї ще в 9 столітті до н. е. Інші стародавні цивілізації, наприклад, індіанці майя, також використовували складні комбінації десяткових та бінарних систем для відстеження часових інтервалів та астрономічних явищ.

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

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

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

Теоретично ЕОМ будь-який текст складається з окремих символів. До цих символів відносяться: літери, цифри, малі розділові знаки, спеціальні символи («», №, (), і т.д.), до них, так само, відносяться пробіли між словами.

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

Число взятих в алфавіті символів представляє його потужність.

Кількість інформації можна визначити за такою формулою: N = 2b

  • N - та сама потужність (множина символів),
  • b – Біт (вага взятого символу).

Алфавіт, в якому буде 256 може вмістити практично всі потрібні символи. Такі алфавіти називають достатніми.

Якщо взяти алфавіт потужністю 256, і мати на увазі, що 256 = 28

  • 8 біт завжди називають 1 байт:
  • 1 байт = 8 біт.

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

Яким чином текстова інформація може виглядати в пам'яті комп'ютера?

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

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

Природно, постало питання: Який конкретно восьмирозрядний кодчи належить кожному символу? І як зробити переклад тексту в цифровий код?

Цей процес умовний, і ми маємо право придумати різні способи кодування символів. Кожен символ алфавіту має свій номер від 0 до 255. І кожному номеру надано код від 00000000 до 11111111.

Таблиця для кодування – це «шпаргалка», в якій вказано символи алфавіту відповідно до порядкового номеру. Для різних типів ЕОМ застосовують різні таблиці для кодування.

ASCII (або Аскі) стала міжнародним стандартом для персональних комп'ютерів. Таблиця має дві частини.

Перша половина таблиці ASCII. (Саме перша половина стала стандартом.)

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

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

Зараз, у наш час використовують цілих п'ять систем кодуваньросійського алфавіту (КОІ8-Р, Windows. MS-DOS, Macintosh та ISO). Через кількість систем кодувань і відсутності одного стандарту дуже часто виникають непорозуміння з перенесенням російського тексту в комп'ютерний його вигляд.

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

З початку дев'яностих років, так званого часу, коли панувала операційна система MS DOS, з'являється система кодування CP866 ("CP" означає "Code Page", "кодова сторінка").

Гігант комп'ютерних фірм APPLE, зі своєю інноваційною системою, під керуванням якої вони працювали (Mac OS), починають використовувати власну систему для кодування алфавіту МАС.

Міжнародна організація стандартизації (International Standards Organization, ISO) призначає стандартом для російської ще одну систему для кодування алфавіту, Яка називається ISO 8859-5.

А найпоширеніша в наші дні система для кодування алфавіту, придумана в Microsoft Windows, і називається CP1251.

З другої половини дев'яностих років було вирішено проблему стандарту перекладу тексту в цифровий код для російської мови і не тільки, введенням у стандарт системи під назвою Unicode. Вона представлена ​​шістнадцятирозрядним кодуванням, це означає, що на кожен символ приділяється рівно по два байти оперативної пам'яті. Само собою, за такого кодування, витрати пам'яті збільшені вдвічі. Однак, така кодова система дозволяє переводити в електронний код до 65 536 символів.

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

Давайте за допомогою таблиці ASCII подивимося, як може виглядати слово у пам'яті вашого комп'ютера.

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


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

Двійкова система числення- позиційна система числення з основою 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 = ∑ 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 = 1000110 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 року Штібіц продемонстрував можливість надсилання команд віддаленому калькулятору комплексних чисел по телефонній лінії з використанням телетайпу. Це була перша спроба використання дистанційної обчислювальної машини за допомогою телефонної лінії. Серед учасників конференції, які були свідками демонстрації, були Джон фон Нейман, Джон Моклі та Норберт Вінер, які згодом писали про це у своїх мемуарах.

Див. також

Примітки

  1. Попова Ольга Володимирівна. Навчальний посібник з інформатики (неопр.) .

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

Двійкова система ґрунтується на двох цифрах – 1 та 0, відповідних станах включення та вимикання, які ваш комп'ютер може зрозуміти. Ймовірно, ви знайомі із десятковою системою. Вона використовує десять цифр - від 0 до 9, а потім переходить до наступного порядку, щоб сформувати двоцифрові числа, причому цифра з кожного наступного порядку в десять разів більша, ніж попередня. Двійкова система аналогічна, причому кожна цифра вдвічі більша, ніж попередня.

Підрахунок у двійковому форматі

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

1111 (у двійковому форматі) = 8 + 4 + 2 + 1 = 15 (у десятковій системі)

Облік 0 дає 16 можливих значень для чотирьох двійкових бітів. Перейдіть на 8 біт, і ви отримаєте 256 можливих значень. Це займає набагато більше місця для представлення, оскільки чотири цифри у десятковій формі дають нам 10 000 можливих значень. Звичайно, бінарний код займає більше місця, але комп'ютери розуміють двійкові файли набагато краще, ніж десяткову систему. І для деяких речей, таких як логічна обробка, двійковий код кращий за десятковий.

Слід сказати, що є ще одна базова система, яка використовується в програмуванні: шістнадцяткова. Хоча комп'ютери не працюють у шістнадцятковому форматі, програмісти використовують її для подання двійкових адрес у форматі, що читається, при написанні коду. Це з тим, що дві цифри шістнадцяткового числа можуть бути цілий байт, тобто замінюють вісім цифр у двійковому форматі. Шістнадцяткова система використовує цифри 0-9, а також літери від A до F, щоб отримати додаткові шість цифр.

Чому комп'ютери використовують двійкові файли

Коротка відповідь: апаратне забезпечення та закони фізики. Кожен символ у вашому комп'ютері є електричним сигналом, і в перші дні обчислень вимірювати електричні сигнали набагато складніше. Було розумніше розрізняти лише «включений» стан, представлений негативним зарядом, і «вимкнений» стан, представлений позитивним зарядом.

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

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

Ось схема типового транзистора:

По суті, він дозволяє струму текти від джерела до стоку, якщо у воротах є струм. Це формує двійковий ключ. Виробники можуть створювати ці транзистори неймовірно малими – аж до 5 нанометрів або розміром дві нитки ДНК. Це те, як працюють сучасні процесори, і навіть вони можуть страждати від проблем з розрізненням включеного та вимкненого стану (хоча це пов'язано з їх нереальним молекулярним розміром, схильним до дивностям квантової механіки).

Чому лише двійкова система

Тому ви можете подумати: «Чому лише 0 та 1? Чому б не додати ще одну цифру? Хоча частково це пов'язано з традиціями створення комп'ютерів, додавання ще однієї цифри означало б необхідність виділяти ще один стан струму, а не тільки «вимкнений» або «включений».

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

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

Таким чином, бінарна математика простіше для комп'ютера, ніж будь-що ще. Двійкова логіка легко перетворюється на двійкові системи, причому True і False відповідають станам Вкл і Вимк .

Бінарна таблиця істинності, що працює на двійковій логіці, матиме чотири можливі виходи для кожної фундаментальної операції. Але оскільки потрійні ворота використовують три входи, потрійна таблиця істинності мала б 9 або більше. У той час, як бінарна система має 16 можливих операторів (2^2^2), трійкова система мала б 19683 (3^3^3). Масштабування стає проблемою, оскільки, хоча трійкість ефективніша, вона також експоненційно складніша.

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