Все позиционные системы счисления являются
равноправными, но в зависимости от тех задач, которые
решает человек с использованием чисел он может применять
системы счисления с разными основаниями.
Наиболее часто используется десятичная система
счисления, т.е. система счисления, алфавит которой
состоит из десяти цифр (0,1,2,3,4,5,6,7,8,9) и
соответственно основание равно десяти. Широкое
применение этой системы счисления легко объяснимо.
Во-первых, запись числа в десятичной системе счисления
достаточно компактна, во-вторых, десятичная система
счисления используется человечеством на протяжении уже
нескольких веков. За это время люди уже привыкли и к
цифрам, и к записи чисел, и к произношению чисел в
десятичной системе счисления, например, запись «15»
понятна любому человеку и он ее прочитает как
пятнадцать, но то же самое число записанное в двоичной
системе счисления «1111», вызывает, по крайней мере,
легкое недоумение, а как же прочитать это число.
И все же однозначно утверждать, что десятичная система
счисления является оптимальным выбором человечества для
работы с числами нельзя. Докажем это несколькими
примерами.
Все вы помните таблицу умножения и конечно же помните
сколько усилий вам пришлось приложить, что бы выучить
эту таблицу. Не будем приводить здесь таблицу умножения
в десятичной системе счисления, но для сравнения
приведем таблицу умножения в двоичной системе счисления:
1*0=0
0*1=0
0*0=0
1*1=1
Как видите, таблица умножения в двоичной системе
счисления выглядит значительно проще, чем в десятичной.
Компактность записи чисел в десятичной системе
счисления, то же не самая высокая, во всех системах
счисления с основанием больше десяти числа будут
записываться более компактно, например, тоже число «15»,
в шестнадцатеричной системе счисления запишется как «F».
Как уже говорилось в параграфе 5, для записи чисел в ЭВМ
принята двоичная система счисления. В этом параграфе мы
должны разобраться, а как же представляются числа в
памяти ЭВМ, для этого будет достаточно понять правила
перевода десятичных чисел в двоичную систему счисления.
На практике, для перевода
чисел из системы счисления с основание десять в систему
счисления с основанием два, пользуются следующим
правилом:
1.
Число, записанное в системе счисления с
основанием десять, делится с остатком на два (основание
новой системы счисления), записанное цифрами системы
счисления с основанием десять (старой системы
счисления), до тех пор, пока в частном не получится 0.
2.
Остатки, полученные от деления, записанные в
обратном порядке, образуют число в новой системе
счисления с основанием два.
Данным правилом удобнее
пользоваться для перевода чисел из десятичной системы
счисления. Для обратного перевода, в десятичную систему
счисления удобнее использовать так называемую схему
Горнера.
1.
Пронумеровать позиции в числе, справа на лево,
начиная с нулевой;
2.
Составить ряд, представляющий собой сумму
произведений цифр числа на основание старой системы
счисления, записанное цифрами новой системы счисления,
возведенное в степень равную номеру позиции цифры в
числе;
3.
Найти сумму ряда.
Разберем данные правила на конкретных примерах.
Пример 1: Записать десятичное число 121 в
двоичной системе счисления.
121 | 2
121D=1111001B
120 60 | 2
1 60 30 | 2
0 30 15 | 2
0 14 7 | 2
1 6 3 | 2
1 2 1 | 2
1 0 0
1 |
В данном примере вы, наверное, обратили внимание на то,
что рядом с числами стоят буквенные индексы, которые
служат для того, что бы можно было отличать числа,
записанные в различных системах счисления. Индекс
D – обозначает десятичную
систему счисления, В – двоичную систему счисления (от
английского Вinary –
двоичный). Забегая немного вперед отметим, что
индексом О – обозначается восьмеричная система
счисления, а индексом Н – шестнадцатеричная система
счисления. Договоримся так же, что если при записи
числа не указан индекс, обозначающий систему счисления,
и если иное не оговорено в условии задачи, то значит это
число записано в десятичной системе счисления.
Пример 2: Двоичное число 1111001 записать в
десятичной системе счисления.
Для решения этого примера воспользуемся правилом,
которое у нас обозначено как схема Горнера.
16151413020110=1*26
+1*25 +1*24 +1*23
+0*22 +0*21 +1*20
=64+32+16+8+0+0+1=121
Таким образом:
1111001B=121D
Как вы поняли из примера 2, данную процедуру можно
использовать для проверки правильности перевода чисел из
десятичной системы счисления в двоичную.
В заключении приведем таблицу некоторых степеней двойки.
20=1
29=512
21=2
210=1024
22=4
211=2048
23=8
212=4096
24=16
213=8192
25=32
214=16384
26=64
215=32768
27=128
216=65536
28=256
|