Основы объектно-ориентированного программирования на языке C# book | Page 95
6.4 Двiйкова арифметика
6.4.5 Дiлення двiйкових чисел
Нехай нам необхiдно роздiлити два десяткових числа, наприклад 234
на 7: У дiленому спочатку видiляємо праворуч вiд старшого розряду
таку кiлькiсть цифр, щоб число, яке вийшло, було мiнiмальним i, у
той самий час, бiльше дiльника. У даному прикладi необхiдне нам
число – це 23. Потiм дiлимо отримане число на дiльник iз залишком.
Описану операцiю повторюємо, доки залишок не виявиться менше
дiльника. Тодi число пiд рискою – це частка, а останнiй залишок –
залишок операцiı̈.
Операцiя дiлення двiйкових чисел виконується так само. Розгляне-
мо приклад: виконати операцiю дiлення 10010011 : 101:
1 0 0 1 0 0 1 1 1 0 1
Рухаючись вiд старшого розряду, шукаємо перше число, яке буде
бiльше дiльника. Це чотирирозрядне число 1001. Тепер необхiдно зна-
йти цiлочисельний результат дiлення видiленого числа на дiльник. I
тут ми знову виграємо порiвняно з десятковою системою. Справа в
тому, що число, яке пiдбирається, обов’язково є цифрою, а цифри в
нас тiльки двi. Оскiльки 1001 явно бiльше 101, то тут усе зрозумiло
– це 1. Виконаємо крок операцiı̈:
−
1 0 0 1 0 0 1 1 1 0 1
1
1 0 1
1 0 0
Залишок вiд виконаноı̈ операцiı̈ становить 100. Це менше нiж 101,
тому, щоб виконати другий крок, необхiдно дописати до 100 наступну
цифру – цифру 0. Дiстанемо:
−
1 0 0 1 0 0 1 1 1 0 1
1 0 1
1
1 0 0 0
1000 бiльше 101, тому на другому кроцi ми знову допишемо в частку
цифру 1 та одержимо
−
1 0 0 1 0 0 1 1 1 0 1
1 1
1 0 1
1 0 0 0
−
1 0 1
1 1 0
Пiсля кiлькох iтерацiй маємо
95