Основы объектно-ориентированного программирования на языке 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