Як віднімати двійкові числа


 

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


Інструкція

  1. Двійкова алгебра — основа інформатики, тому курс цього предмета завжди починається з дій над такими числами. Дуже важливо, щоб учні зрозуміли матеріал, на ньому базується будь-яка мова програмування, оскільки тільки такий код розуміють комп’ютери та інша техніка.
  2. Віднімати двійкові числа можна двома способами: в стовпчик і з використанням додаткового коду числа. Перший реалізується точно також як і в більш звичною десятковій системі. Дія виконується поразрядно, при необхідності займається одиниця зі старшого. Другий спосіб передбачає приведення віднімання до складання.
  3. Розгляньте для початку перший метод. Вирішити приклад: знайти різницю чисел 1101 і 110. Починайте дію з молодшого розряду, тобто справа наліво:

    1 — 0 = 1
    0 — 1 =?.

  4. Займіть одиницю зі старшого розряду. Оскільки одна позиція у двійковому числі являє собою десяткове число 2, дія перетворюється в 2 — 1 = 1. Пам’ятайте, що в третьому розряді залишився нуль, отже, знову запозичте одиницю зі старшого розряду: 2 — 1 = 1. Отже, вийшло число:

    1101 — 110 = 111.

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

    1101 = 13, 110 = 6, а 111 = 7. Все вірно.

  6. Вирішити наступний приклад по другому методу:

    100010 — 10110.

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

    10110 → 01001 + 00001 = 01010.

  8. Складіть вийшов результат з першим числом у прикладі. Додавання в двійковій арифметиці виконується поразрядно: 0 +0 = 0; 0 +1 = 1 +0 = 1; 1 +1 = 0 і 1 «в умі», тобто додається до результату при переході до наступної позиції числа:

    100010 + 01010 = 101100.

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

    100010_2 = 34_10; 10110_2 = 22_10 → 34-22 = 12 = 1100.