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


 

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



Інструкція

  1. Двійкові числа стали майже такою ж звичною системою, як і десяткові. Молодші школярі вчаться оперувати ними, а також здійснювати переказ між системами. Двійкова арифметика включає в себе ті ж дії, що і всяка інша: додавання, віднімання, множення і ділення.
  2. Віднімати двійкові числа дещо складніше, ніж складати, однак для цієї мети є два методи, один з яких якраз призводить поставлену задачу до операції додавання шляхом перетворень над від’ємником числом. Це чарівне перетворення називається додатковим кодом.
  3. Визначити його можна за наступним алгоритмом: спочатку значення всіх позицій від’ємника числа змінюються на протилежні: нулі на одиниці і одиниці на нулі. Потім до одержали проміжного результату додається двійкова одиниця, тобто число, яке збільшує його молодший розряд на 1.
  4. Розгляньте приклад: потрібно знайти різницю 10010 — 1001. Друге число дорівнює 1001, для нього і потрібно знайти додатковий код.
    Замініть 1 на 0 і 0 на 1 → 0110. Тепер додайте до результату число 0001. Молодший розряд дорівнює 0, отже, його складання з одиницею дасть 1 → 0111.
  5. Складіть числа 10010 і 0111. Виконуйте цю дію послідовно для кожного розряду, починаючи з правого кінця:

    1 +0 = 1;
    1 +1 = 0 (1 «в умі»);
    0 +1 = 1 +1 (див. попер.) = 0 (1 «в умі»);
    0 +0 = 0 +1 = 1;
    1 = 1.


  6. Запишіть отриману суму: 10010 +0111 = 11001. Виконайте завершальний етап методу, а саме, відкиньте одиницю, що стоїть у старшій позиції 11001 → 1001. Це число і є різницею заданих чисел.
  7. Інший метод передбачає звичайне порозрядне віднімання, аналогічну дії над десятковими числами. Якщо для отримання різниці не вистачає одиниці, вона займається в старшому розряді і перетворюється в 2, саме стільки становить один розряд двійкового числа.
  8. Зробіть той же приклад новим способом:

    10010 — 1001:

    0-1 = [займаємо 1, у другому розряді залишається 0] = 2-1 = 1;
    0-0 = 0;
    0-0 = 0;
    0-1 = 2-1 = 1

    1 зі старшого розряду перейшло в попередній дію в якості 2.

    Відповідь: 10010-1001 = 1001.