Як ділити двійкові числа: 13 кроків (з ілюстраціями)

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

Метод1 З 2:
Ділення в стовпчик

  1. Розділіть в стовпчикДва десяткових числа.якщо ви призабули, що таке поділ в стовпчик, розділіть два десяткових (підстава 10) числа: 172 ÷ 4. Якщо ви прекрасно ділите в стовпчик, перейдіть до наступного кроку, щоб дізнатися, як ділити двійкові числа.
    • Діленеділиться наДільникі виходитьПРИВАТНЕ.
    • Порівняйте дільник з першою цифрою діленого. Якщо дільник більше цієї цифри, Порівняйте дільник з двома цифрами діленого і так далі, поки дільник не стане менше розглянутого числа. У нашому прикладі Порівняйте 4 і 1, відзначте, що 4 &#gt; 1, а потім порівняйте 4 з 17.
    • Напишіть першу цифру приватного під дільником. Порівнявши 4 і 17, ви побачите, що 17 ÷ 4 = 4 з залишком, тому напишіть 4 Як першу цифру приватного під дільником (4).
    • Помножте і відніміть, щоб знайти залишок. Помножте першу цифру на дільник; в нашому прикладі: 4 x 4 = 16. Запишіть 16 під 17, а потім відніміть 17 - 16, щоб знайти залишок 1.
    • Повторіть порівняння. Порівняйте дільник 4 з залишком 1, відзначте, що 4 &#gt; 1, і «знесіть» наступну цифру діленого, щоб порівняти 4 з 12. Так як 12 ÷ 4 = 3 без залишку, тому напишіть 3 як другу цифру. Остаточна відповідь: 43.
  2. Розділіть в стовпчик два двійкових числа.наприклад, 10101 ÷ 11. Тут 10101-ділене, а 11 — дільник. Залиште достатньо місця для обчислень.
  3. Порівняйте дільник з першою цифрою діленого.у випадку з двійковими числами зробити це простіше, ніж з десятковими: або число не ділиться на дільник і записуємо 0, або ділиться і записуємо 1.
    • 11 &#gt; 1, тому 1 не можна розділити на 11. Напишіть 0 як першу цифру приватного (під дільником).
  4. Продовжуйте порівнювати числа з дільником, поки не отримаєте 1. у нашому прикладі:
    • Порівняйте дільник з двома цифрами діленого. 11 &#gt; 10. Напишіть 0 як другу цифру.
    • Порівняйте дільник з трьома цифрами діленого. 11 &#lt; 101. Напишіть 1 Як третю цифру.
  5. Обчисліть залишок.помножте знайдену цифру (1) на дільник (11) і запишіть отриманий результат під діленим (а саме під відповідними розрядами). Зверніть увагу, що при множенні 1 на дільник завжди виходить дільник.
    • Запишіть дільник під діленим. У нашому прикладі запишіть 11 під першими трьома цифрами (101) діленого.
    • Відніміть 101-11, щоб отримати залишок 10. Якщо ви не пам'ятаєте, як віднімати двійкові числа, прочитайте цю статтю.
  6. Повторіть описані дії, поки не вирішите завдання.додайте наступну цифру діленого до залишку, щоб отримати 100. Так як 11 &#lt; 100, напишіть 1 Як четверту цифру приватного. Подальші обчислення:
    • Напишіть 11 під 100 і відніміть, щоб отримати залишок 1;
    • Додайте останню цифру діленого до залишку, щоб отримати 11;
    • 11 = 11, тому напишіть 1 Як останню цифру.
    • Залишку немає, тому завдання вирішене. Відповідь:00111 або просто 111.
  7. Додайте десяткову кому (якщо потрібно).іноді результат не є цілим числом. Якщо після того, як ви використовували останню цифру діленого, вийшов залишок,припишіть«, 0» до діленого і«, » до приватного, щоб «знести» наступну цифру і продовжити обчислення. Повторіть цей процес до тих пір, поки не отримаєте результат потрібної точності, а потім округлите відповідь. Щоб округлити отриманий результат, позбудьтеся від останнього 0, або, якщо остання цифра 1, відкиньте її і додайте 1 до нової останньої цифри. У програмуванні дотримуйтесь одного зі стандартних алгоритмів округлення, щоб уникнути помилок при перетворенні між двійковими і десятковими числами.[3]
    • При діленні двох двійкових чисел може вийти результат з повторюваної дробової частиною; це трапляється частіше, ніж при діленні десяткових чисел.[4]
    • Зверніть увагу, що десяткова кома використовується не тільки в десятковій, але і в двійковій системі числення.[5]

Метод2 З 2:
Доповнення

  1. Зрозумійте основні принципи. щоб розділити два числа (як десяткові, так і двійкові), можна відняти дільник з діленого, а потім послідовно віднімати дільник із залишків, поки не вийде негативне число; при цьому потрібно рахувати, скільки віднімань було виконано. Наприклад, обчисліть 26 ÷ 7:
    • 26 - 7 = 19 (1 віднімання)
    • 19 - 7 = 12 (2)
    • 12 - 7 = 5 (3)
    • 5 - 7 = -2. Негативне число, тому далі віднімати не потрібно. Відповідь:3 із залишком 5. Зверніть увагу, що цей метод не обчислює дробову частину відповіді.
  2. Зрозумійте основи методу доповнень.викладений вище метод можна застосувати до двійкових чисел, а можна використовувати більш ефективний спосіб, який дозволить заощадити час при програмуванні ділення двійкових чисел. Такий спосіб називається методом доповнень. Наприклад, відніміть 111-011 (обидва числа повинні мати однакову кількість цифр):
    • Знайдіть Доповнення до другого числа. Для цього відніміть кожну цифру цього числа з 1. У двійковій системі просто замініть 1 на 0, а 0 на 1.[6][7] у нашому прикладі 011 стане 100.
    • До отриманого результату додайте 1: 100 + 1 = 101. Цей процес називається доповненням до двох і дозволяє замінити віднімання операцією додавання.[8] по суті, цей метод полягає в тому, що ви додасте негативне число замість віднімання позитивного.
    • Отриманий результат додайте до першого числа. Запишіть і обчисліть операцію додавання: 111 + 101 = 1100.
    • Відкиньте першу цифру отриманого результату, щоб отримати остаточну відповідь: 1100 →100.
  3. Об'єднайте два методи, які описані вище.перший метод-це метод послідовного віднімання, а другий-метод Доповнення до двох. Ці методи можна об'єднати в один, щоб з його допомогою ділити числа (процес об'єднання методів описується далі).[9] якщо хочете, спробуйте самостійно зрозуміти, як об'єднати два методи.
  4. Відніміть дільник з діленого, замінивши віднімання складанням за допомогою Доповнення до двох.наприклад: 100011 ÷ 000101. Спочатку віднімання 100011-000101 Перетворіть на додавання, використовуючи Доповнення до двох:
    • Доповнення до двох: 000101 = 111010 + 1 = 111011
    • Додавання: 100011 + 111011 = 1011110
    • Позбудьтеся від першої цифри: 011110
  5. Додайте 1 до приватного.у комп'ютерній програмі це рядок, де ПРИВАТНЕ збільшується на одиницю. На папері зробіть замітку, щоб не заплутатися. Ви успішно відрахували один раз, тому на даний момент ПРИВАТНЕ дорівнює 1.
  6. Повторіть описаний процес.для цього відніміть дільник із залишку. Залишок-це результат останнього обчислення. Операцію віднімання замініть складанням: до залишку додавайте доповнений до двох дільник, а потім позбавляйтеся від Перший цифри результату. Після кожного віднімання до приватного додавайте 1. Повторіть описаний процес, доки залишок не буде рівним або меншим за дільник:[10]
    • 011110 + 111011 = 1011001 → 011001 (ПРИВАТНЕ1+1=10)
    • 011001 + 111011 = 1010100 → 010100 (ПРИВАТНЕ10+1=11)
    • 010100 + 111011 = 1001111 → 001111 (11+1=100)
    • 001111 + 111011 = 1001010 → 001010 (100+1=101)
    • 001010 + 111011 = 10000101 → 0000101 (101+1=110)
    • 0000101 + 111011 = 1000000 → 000000 (110+1=111)
    • 0 менше 101, тому далі обчислювати не потрібно. ПРИВАТНЕ111 є остаточним результатом операції поділу. Залишок є кінцевим результатом операції віднімання; в нашому прикладі це 0 (залишку немає).

Поради

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

Ще почитати: