Из одной системы счисления в другую
Понятие системы счисления (СС) связано и определяется через ее основание «d». В свою очередь основание СС – это количество цифр, которое используется для представления чисел в данной системе. Отсчет цифр начинается с 0. Примеры различных СС и цифр, которые используются для представления чисел в СС:
d=5: 0, 1, 2, 3, 4
d=8: 0, 1, 2, 3, 4, 5, 6, 7
d=10: 0, 1, 2, 3, 4, 5, 6, 7, 8,9
d=16: 0, 1, 2, 3, 4, ,5, 6, 7, 8, 9, A, B, C, D, E, F
Для уточнения системы счисления, в которой представляется число, значение основания «d» СС записывается справа от самого числа, на месте индекса числа. Так, например, если необходимо подчеркнуть, что число 34 215 представлено в 8-й СС, то его можно записать в следующем виде: 342158. Существует формула десятичного эквивалента числа, представленного в СС с основанием «d»:
(anan-1an-2…a2a1, b1b2…bm )d = andn-1 + an-1dn-2 + …+ a2d1 + a1d0 + b1d-1 +
+ b2d-2 +…+ bmd-m
где ai – цифры целой части числа, bj – цифры дробной части числа.
При помощи данной формулы можно не только найти десятичный эквивалент числа представленного с основанием «d», но и сравнить числа, представленные в системах счисления, с разными основаниями.
Поскольку в ЭВМ используются три системы счисления, d1 = 2, d2 = 10, d3 = 16, то, безусловно, должны быть правила перевода чисел из одной системы счисления в другую. Такие правила существуют, в ЭВМ они выполняются программно. Перевод чисел из СС с основанием «S» в СС с основанием «Н» для целых и дробных чисел выполняется по самостоятельным правилам. Ограничений на значения «S» и «Н» не существует.
Правило перевода целых чисел: для того чтобы число, представленное в старой «S» СС, перевести в новую СС с основанием «Н», необходимо само число и получающиеся частные от деления делить на основание «Н» новой СС, представленное в старой «S»-ой СС, до тех пор, пока частное от деления не будет меньше основания «Н» новой СС. Цифрами числа в новой «Н» -ой СС будут остатки частичных делений, записанные в порядке, обратном их получению.
Пример: перевести целое число 3756110 из системы счисления S = 10 в систему счисления Н =8.
37561 8 3756110=913168
32 4697 8
55 40 587 8
48 69 56 73 8
76 64 27 72 9
72 57 24 1
61 56 3
56 1
Правило перевода дробных чисел: для перевода дробного числа из СС с основанием «S» в СС с основанием «Н», необходимо дробную часть самого числа и дробные части получающихся частичных произведений умножать на основание «Н» новой СС, представленное в старой «S» СС. Цифрами дробного числа в новой «Н» СС будут целые части получившихся частичных произведений, записанные в порядке их получения.
Пример: перевести число 0,73110 из системы счисления с основанием S = 10 в систему счисления с основанием Н = 2.
0 731
*2
1 462
*2
0 924
*2
1 848
*2
1 696
*2
1 392
*2
0 784
*2
1 568
0,73110= 0,10111012
В машинной арифметике используется также система кодирования «8421», при помощи которой устанавливается связь между цифрами 8-, 10- и 16-ричной системами счисления и их двоичным представлением при помощи четырехразрядного двоичного числа (табл. 3.1):
a4а3а2а1 2 = 23а4 + 22а3 + 21аа1 + 20а1 = 8а4 + 4а3 + 2а2 + 1а1
8, 4, 2, 1 – это весовые коэффициенты двоичных разрядов α4, α3, α2, α1 соответственно. Поскольку цифра 2 является основанием и двоичной СС, и целых степеней, являющихся одновременно основаниями 8- и 16-ричной систем счисления: 8 = 23, 16 = 24, то в двоичной арифметике доказаны и сформулированы упрощенные правила перевода чисел из двоичной СС в 8- и 16-ричную и, наоборот, из 16- и 8-ричной СС в 2-ую.
Таблица 3.1
Система кодирования «8421»
Цифры | Весовые коэффициенты разрядов | |||||||
а4 | а3 | а2 | а1 | |||||
А | ||||||||
B | ||||||||
C | ||||||||
D | ||||||||
E | ||||||||
F | ||||||||
Правило перевода из 8-ричной СС в 2-ичную СС: для перевода чисел, достаточно каждую восьмеричную цифру заменить триадой двоичных разрядов в целой и дробной частях числа в соответствии с табл. 3.1.
Пример: число 7321,038 перевести в 2-ую СС.
7 3 2 1 , 0 38
111 011 010 001 , 000 011
7321, 038 = 111 011 010 001, 000 0112
Правило перевода из 2-ичной СС в 8-ричную СС: для перевода чисел, представленных в 8-ричной СС, в двоичную СС достаточно разбить разряды целой и дробной части числа вправо и влево от запятой на триады двоичных разрядов и каждую триаду заменить ее восьмеричным эквивалентом в соответствии с табл. 3.1.
Пример: число 10111011101, 10110112 перевести в 8-ричную СС.
10 111 011 101, 101 101 12 = 2735, 5548
Правило перевода из 16-ричной СС в 2-ичную СС: для перевода чисел, представленных в 16-ричной СС, в двоичную достаточно каждую 16-ричную цифру в целой и дробной частях числа заменить тетрадой двоичных разрядов в соответствии с табл. 3.1.
Пример: число АВ30Е, С6716 перевести в двоичную СС.
А В 3 0 Е, С 6 7
1010 1011 0011 0000 1110, 1100 0110 0111
АВ30Е, С6716 = 10101011001100001110, 110001101112
Правило перевода из 2-ичной СС в 16-ричную СС: для перевода чисел, представленных в двоичной СС, в 16-ричную достаточно целую и дробную части двоичного числа разбить на тетрады двоичных разрядов вправо и влево от запятой, а затем каждую тетраду заменить ее 16-ричным эквивалентом в соответствии с табл. 3.1.
Пример: число 110111010111101,1011111011000012 перевести в 16-ричную СС.
110 1110 1011 1101, 1011 1110 1100 00102
6 Е В D , В Е С 2
110111010111101, 1011111011000012 = 6ЕВD, ВЕС216
Дата добавления: 2016-03-15; просмотров: 1728;