1.1.2. Восьмеричная система счисления.
Основанием системы является число 8. Для изображения числа используются 8 цифр: 0, 1, 2, 3, 4, 5, 6, 7.
Перевод 8 --> 10 :
35174,68 = 3*84 + 5*83 + 1*82 + 7*81 + 4*80 + 6*8-1 = 3*4096 + 5*512 + 1*64 +
+ 7*8 + 6/8 = 12288 + 2560 + 64 + 56 + 4 + 3/4 = 14972,7510.
Перевод 10 --> 8 . Схема перевода такая же, как и для 2 с/c.
397,210 = 615,158
397 ¦ 8 0, ¦ 2 * 8
32 49 ¦ 8 1, ¦ 6 * 8
77 48 6 4, ¦ 8 * 8
72 1 ¦ 6, ¦ 4 * 8
5 ¦ 3, ¦ 2 * 8
¦ 1, ¦ 6 * 8
<-------- ...........
0,210 = 0,146314631... = 0,(1463)
Полученная восьмеричная дробь округлена до двух цифр.
Правило округления: чтобы округлить дробное число до m цифр, нужно к (m+1)-ой цифре добавить половину цены разряда для данной системы счисления. Для 8 c/c половина цены разряда равна 4, для 2 с/c - 1, для 16 c/c - 8.
Примечание. Сложение в вышеприведенном примере было выполнено в восьмеричной системе счисления.
Перевод 8 --> 2. Для перевода восьмеричного числа в 2 c/c нужно каждую восьмеричную цифру записать в виде двоичной триады, т.е. трех двоичных цифр.
-
Восьмеричное число
Двоичное число
Двоичная триада
0
0
000
1
1
001
2
10
010
3
11
011
4
100
100
5
101
101
6
110
110
7
111
111
Например, 3763,248 = 011 111 110 011 , 010 1002 = 11111110011,01012
Такое правило перевода 8 --> 2 связано с тем, что 8 = 23.
Например,
3763,248 = 3*83 + 7*82 + 6*81 + 3*80 + 2*8-1 + 4*8-2 = (0*22 + 1*21 + 1*20)*29 +
+ (1*22 + 1*21 + 1*20)*26 + (1*22 + 1*21 + 0*20)*23 + (0*22 + 1*21 + 1*20)*20 +
+ (0*22 + 1*21 + 0*20)*2-3 + (1*22 + 0*21 + 0*20)*2-6 = 0*211 + 1*210 + 1*29 +
+ 1*28 + 1*27 + 1*26 + 1*25 + 1*24 + 0*23 + 0*22 + 1*21 + 1*20 + 0*2-1 + 1*2-2 +
+ 0*2-3 + 1*2-4 + 0*2-5 + 0*2-6 = 011 111 110 011, 010 1002
Для перевода 2 --> 8 следует разделить двоичное число влево и вправо от запятой на триады, а затем заменить каждую триаду одной восьмеричной цифрой. Если первая триада в целой части или последняя триада в дробной части числа получаются неполными, то нужно дополнить их незначащими нулями.
Пример.
001¦011¦110¦111,101¦101¦0102 = 1367,55228
В связи с тем, что перевод 10 --> 8 или 8 --> 10 выполняется быстрее, чем перевод 10 --> 2 или 2 --> 10, то вместо 10 --> 2 выполняют 10 --> 8 --> 2 , а вместо 2 --> 10 выполняют 2 --> 8 --> 10 .
1.1.3. Шестнадцатеричная система счисления.
Основанием системы является число 16. Для изображения числа нужно использовать 16 цифр. Так как цифр 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 недостаточно, то для остальных цифр используются первые буквы латинского алфавита: A (цифра 10), B (цифра 11), C (цифра 12), D (цифра 13), E (цифра 14), F (цифра 15).
Перевод 16 --> 10:
A8B7,E16 = 10*163 + 8*162 + 11*161 + 7*160 + 14*16-1 = 10*4096 + 8*256 + 11*16+ + 7 + 14/16 = 43191,87516.
Перевод 10 --> 16 .
7643,410 = 1DDB,6616
7643 ¦ 16 0, ¦ 4 * 16
64 477 ¦ 16 6, ¦ 4 * 16
124 32 29 ¦ 16 6, ¦ 4 * 16
112 157 16 1 6, ¦ 4 * 16
123 144 13 ¦ ............
112 13 ¦
11 ¦
¦
<---------
Перевод 16 --> 2 . Так как 16 = 24 , то в этом случае каждая шестнадцатеричная цифра должна быть представлена двоичной тетрадой.
16-ричное число |
Двоичное число |
Двоичная тетрада |
16-ричное число |
Двоичное число |
Двоичная тетрада |
0 |
0 |
0000 |
8 |
1000 |
1000 |
1 |
1 |
0001 |
9 |
1001 |
1001 |
2 |
10 |
0010 |
A |
1010 |
1010 |
3 |
11 |
0011 |
B |
1011 |
1011 |
4 |
100 |
0100 |
C |
1100 |
1100 |
5 |
101 |
0101 |
D |
1101 |
1101 |
6 |
110 |
0110 |
E |
1110 |
1110 |
7 |
111 |
0111 |
F |
1111 |
1111 |
Пример.
D85CA,9B16 = 1101 1000 0101 1100 1010, 1001 10112
Перевод 2 --> 16. В этом случае исходное число нужно разделить влево и вправо от запятой на тетрады, а затем каждую тетраду записать одной шестнадцатеричной цифрой.
Пример.
11¦1011¦1110¦0001¦,0110¦1102 = 3BE1,6C16
Для сокращения вычислений
вместо 10 --> 2 выполняют 10 --> 16 --> 2 ,
вместо 2 --> 10 выполняют 2 --> 16 --> 10 .