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