Ділення двійкових чисел

Автор: Roger Morrison
Дата Створення: 6 Вересень 2021
Дата Оновлення: 1 Липня 2024
Anonim
Деление в двоичной системе счисления (деление в 2 сс)
Відеоролик: Деление в двоичной системе счисления (деление в 2 сс)

Зміст

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

Крок

Метод 1 з 2: Використання довгого поділу

  1. Знову пройдіть десятковий довгий поділ. Якщо вже давно ви не робили довгого ділення з регулярними десятковими (база 10) числами, перегляньте його основу ще раз на завдання 172 ÷ 4. В іншому випадку пропустіть це і перейдіть до наступного кроку, щоб вивчити цю процедуру для двійкового числа.
    • Це дивіденд ділиться на дільник, і відповідь така коефіцієнт.
    • Порівняйте дільник з першою цифрою в дивіденді. Якщо дільник є найбільшим числом, продовжуйте додавати цифри до дивіденду, доки дільник не стане найменшим числом. (Наприклад, при обчисленні 172 ÷ 4 ми порівнюємо 4 і 1, виявляємо, що 4> 1, а потім порівнюємо 4 з 17.)
    • Запишіть першу цифру частки над останньою цифрою дивіденду, що використовується для порівняння. Порівнявши 4 і 17, ми помічаємо, що 4 переходить у 17 чотири рази, тому пишемо 4 як першу цифру нашого коефіцієнта, вище 7.
    • Помножте і відніміть, щоб знайти залишок. Помножте частку на дільник, у цьому випадку 4 x 4 = 16. Запишіть 16 нижче 17, потім виконайте 17 - 16 для залишку, 1.
    • Повторити. Знову ми порівнюємо дільник 4 із наступною цифрою 1, зауважимо, що 4> 1, і "зводимо" наступну цифру дивіденду, щоб замість цього порівняти 4 із 12. 4 переходить у 12 тричі без залишку, тому ми можемо записати 3 як наступну цифру частки. Відповідь - 43.
  2. Створіть двійкову установку з довгим поділом. Припустимо, ми використовуємо як приклад 10101 ÷ 11. Запишіть це як довге ділення, з 10101 як дивіденд і 11 як дільник. Залиште місце вгорі, щоб написати частку, а свої розрахунки впишіть нижче.
  3. Порівняйте дільник із першою цифрою дивіденду. Це працює так само, як десяткове довге ділення, але насправді набагато простіше у двійковій формі. Або ви не можете розділити число на дільник (0), або дільник підходить один раз (1):
    • 11> 1, тому 11 "не підходить" 1. Запишіть 0 як першу цифру частки (над першою цифрою дивіденду).
  4. Тепер візьміть наступну цифру і повторюйте, поки не отримаєте 1. Ось наступні кілька кроків з нашого прикладу:
    • Зменшіть наступну цифру дивіденду. 11> 10. Запишіть 0 у частку.
    • Зменшіть наступну цифру. 11 101. Запишіть 1 у частці.
  5. Визначте решту. як і в десятковому довгому діленні, ми множимо щойно знайдену цифру (1) на дільник (11) і записуємо результат нижче нашого дивіденду на рядок із цифрою, яку ми щойно обчислили. У двійковій формі ми можемо зробити це швидше, оскільки 1 х дільник завжди дорівнює дільнику:
    • Запишіть дільник під дивіденд. Тут ми пишемо це як 11 під першими трьома цифрами (101) дивіденду.
    • Обчисліть 101 - 11 для решти, 10. Перегляньте, як відняти двійкові числа, якщо ви не пам’ятаєте.
  6. Продовжуйте, доки проблема не буде вирішена. Перенесіть наступну цифру від дільника до решти нижче, щоб отримати 100. Оскільки 11 100, ви пишете 1 як наступну цифру частки. Продовжуйте розробляти проблему, як і раніше:
    • Запишіть 11 нижче 100 і відніміть ці числа, щоб отримати 1.
    • Знизьте останню цифру дивіденду, і ви отримаєте 11 за відповідь.
    • 11 = 11, тому запишіть 1 як останню цифру частки (відповідь).
    • Залишку немає, тож проблема вирішена. Відповідь така 00111, або простіше кажучи, 111.
  7. Додайте радіус-точку, якщо потрібно. Іноді результатом є не ціле число. Якщо після використання останньої цифри у вас залишився залишок, додайте ".0" до дивіденду та "." до свого коефіцієнта, щоб ви могли зменшити ще одне число і рухатися далі. Продовжуйте це робити, поки не досягнете бажаної точності, а потім доопрацюйте свою відповідь. На папері ви можете округлити, пропустивши 0 або, якщо остання цифра дорівнює 1, видаліть її та додайте 1 до останньої цифри. При програмуванні використовуйте один із стандартних алгоритмів округлення, щоб уникнути помилок при перетворенні між двійковими та десятковими числами.
    • Ділення двійкових чисел часто призводить до повторення десяткових знаків, частіше, ніж тих, що відбуваються в десятковому форматі.
    • На це позначається більш загальний термін "радіаційна точка", який ви зустрічаєте в будь-якій системі числення, оскільки ви зустрічаєте "десяткову крапку" лише в десятковій системі.

Метод 2 з 2: Використання методу комплементу

  1. Зрозуміти основну ідею. Один із способів вирішити ділення - для будь-якої бази - це продовжувати віднімати дільник від дивіденду, а потім залишок, підраховуючи, скільки разів ви можете продовжувати це робити, перш ніж дійти до від’ємного числа. Ось приклад для основи 10, завдання 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. У нашому прикладі 011 стає 100.
    • Додайте 1 до результату: 100 + 1 = 101. Це називається доповненням 2. Зараз ми розглянемо віднімання як додавання. Суть полягає в тому, що ми розглядаємо проблему так, ніби додаємо від’ємне число, а не віднімаємо позитивне число, після завершення процедури.
    • Додайте результат до першого доданка. Розв’яжіть додавання: 111 + 101 = 1100.
    • Опустити першу цифру (перенести цифру). Видаліть із відповіді першу цифру, щоб отримати остаточний результат. 1100 → 100.
  3. Поєднайте обидві наведені вище концепції. Тепер ви знаєте, як працює метод віднімання для розв’язування сум ділення та метод доповнення 2 для розв’язування сум віднімання.Ви можете об’єднати ці два в один метод розв’язування сум ділення, використовуючи наведені нижче кроки. Якщо хочете, можете спробувати розібратися в цьому самі, перш ніж продовжувати.
  4. Відніміть дільник від дивіденду, додавши доповнення 2. Давайте розберемо задачу: 100011 ÷ 000101. Першим кроком є ​​вирішення 100011 - 000101, використовуючи метод доповнення 2, щоб він склав:
    • Доповнення 2 000101 = 111010 + 1 = 111011
    • 100011 + 111011 = 1011110
    • Опустити першу цифру (перенесення) → 011110
  5. Додайте 1 до частки. У комп’ютерній програмі це момент, коли ви збільшуєте коефіцієнт на 1. На папері зробіть примітку десь у кутку, де вона не зіпсує решту вашої роботи. Ми успішно зробили віднімання один раз, тому фактор поки що дорівнює 1.
  6. Повторіть це, віднімаючи дільник від залишку. Результатом нашого останнього обчислення є залишок, який залишився після того, як дільник один раз «увійшов». Продовжуйте додавати доповнення дільника 2 і віднімати перенесення. Кожен раз додайте 1 до частки і продовжуйте, поки не отримаєте залишок, рівний меншому дільнику:
    • 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 (без відпочинку).

Поради

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