Перевод чисел из десятичной системы счисления в любую другую си-
стему счисления с основанием
q
.
Существует простой способ перевода чисел из десятичной системы счис-
ления в другие системы счисления с основанием
q
. Этот метод основан на де-
лении с остатком. Ниже приведен алгоритм перевода.
•
Шаг 1. Разделите число на основание новой системы счисления
q
.
Остаток от деления запомните.
•
Шаг 2. Сравнить частное от деления с основанием новой системы
счисления
q
.
•
Шаг 3. Если частное от деления больше
q
, делим его на
q
. Остаток от
деления запоминаем. Переходим ко второму шагу.
•
Шаг 4. Если частное от деления меньше
q
, записываем последнее
частное и все остатки от деления, начиная с последнего.
31
Проиллюстрируем, как работает данный алгоритм на примере. Пусть тре-
буется перевести число 13
10
в двоичную систему счисления (
2)
q
=
(рис. 2.2,
а
).
Делим число тринадцать на два. Получаем шесть и один в остатке. Оста-
ток запомним.
Частное больше двух, следовательно, делим его на два. Получаем три и
ноль в остатке. Ноль запоминаем.
Получили, что новое частное больше двух, поэтому делим его на два. По-
лучим один и один в остатке.
Рис. 2.2 – Перевод числа 13 в двоичную систему счисления
Частное меньше двух. Теперь можно записать результат. Сначала запи-
сываем результат последнего деления – единицу (1). Справа от нее ставим зна-
чение остатка от последнего деления – единицу (11). Теперь справа добавим
остаток от второго (предпоследнего) деления – нуль (110). И в завершение до-
бавляем остаток от первого деления – единицу (1101).
Получили, что число 13
10
в двоичной системе счисления записывается
следующим образом – 1101
2
. Проверка:
3 2 1 0
3
2
1
0
2
10
1101
1 2
1 2
0 2
1 2
8 4 0 1 13
= ⋅
+ ⋅
+ ⋅
+ ⋅
= + + + =
Число переведено правильно.
На рисунке 2.2,
а
показана традиционная запись деления – уголком. Такая
форма записи не совсем удобна, особенно в тех случаях, когда требуется офор-
мить решение задачи на компьютере, например, в MS Word. Поэтому мы пред-
лагаем вторую запись процедуры перевода числа, показанную на рисунке 2.2,
б
.
Такая форма более компактная и понятная.
В левой части записываем исходное число. Затем делим его на два. Ниже
записываем частное от деления, а справа остаток. Теперь делим частное и по-
мещаем остаток в правой колонке, а новое частное ниже предыдущего и т. д.
Самый последний результат деления тот, что меньше основания
2
q
=
, копиру-
ем в правый столбик. Результат перевода записан в правой колонке снизу вверх.
Приведем несколько примеров.
32
· · · · · · · · · · · · · · · · · · · · · · · · ·
Пример
· · · · · · · · · · · · · · · · · · · · · · · · ·
1. Перевести число 20
10
в шестнадцатеричную систему счисления.
Основание шестнадцатеричной системы счисления равно 16, поэтому де-
лить следует на это число.
20
1
4
1
Ответ:
10
16
20
14
=
.
2. Перевести число 218
10
в шестнадцатеричную и двоичную системы
счисления.
218 10 (A)
218 0
13 13 (D)
109 1
54 0
27 1
13 1
6
3
1
0
1
1
Ответ:
10
16
2
218
DA
11011010
=
=
.
· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·
· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·
Число 218
10
занимает три разряда. Для записи этого же числа
в двоичной системе счисления требуется 8 разрядов, а в шестнадца-
теричной – 2 разряда. То есть чем меньше основание системы счис-
ления, тем больше требуется разрядов для записи числа.
· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·
· · · · · · · · · · · · · · · · · · · · · · · · ·
Пример
· · · · · · · · · · · · · · · · · · · · · · · · ·
3. Перевести число 1271
10
в шестнадцатеричную и двоичную системы
счисления.
1271 1
1271 7
635 1
79 15 (F)
317 1
4 4
158 0
33
79 1
39 1
19 1
9 1
4
2
1
0
0
1
Ответ:
10
2
16
1271
10011110111
4F7
=
=
.
4. Перевести число 127
10
в семеричную систему счисления. Основание
семеричной системы счисления равно семи. Следовательно, необходимо делить
на семь.
127 1
18 4
2 2
Ответ:
10
7
127
241
=
.
· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·
Do'stlaringiz bilan baham: |