- •1. Кодирование чисел
- •1.1. Двоичная система счисления
- •Преобразование целых чисел
- •Преобразование дробных чисел
- •1.2. Шеснадцатеричная система счисления
- •Преобразование целых чисел
- •Преобразование дробных чисел
- •Преобразование двоичных чисел
- •1.3. Восьмеричная система счисления
- •Преобразование целых чисел
- •Преобразование дробных чисел
- •Преобразование двоичных чисел
- •2. Кодирование текста
Преобразование двоичных чисел
Преобразование двоичных чисел происходит аналогично шестнадцатеричной системе, он в отличие от нее каждый разряд восьмеричного числа соответствует трем разрядам двоичного числа, поскольку «8» является третьей степенью «2»:
81 = 23
Расчеты протекают аналогично. Например, преобразуем число 23,518 в двоичную систему счисления. Для этого переведем каждый разряд восьмеричного числа как отдельное десятичный в двоичную систему, а затем соединим результаты. Причем, каждый разряд исходного числа должен заменяться на тройку разрядов нового двоичного числа, поэтому дописываем недостающие нулями до трех (см. рис. 1.8). Если возникают нули в начале целой части или в конце дробной, то такие разряды опускают и записывают результат без них.
Таким образом, имеем: 23,518 = 10011,1010012 .
Несмотря на иное основание счета, принципиальных различий с шестнадцатеричной системой при работе с двоичными не наблюдается. То же можно сказать и об обратном пересчете (см. рис. 1.9).
23,51 |
||||||||||||||||||||
↓ |
|
|
↓ |
|
|
↓ |
|
|
↓ |
|||||||||||
2 |
|
|
3 |
|
|
5 |
|
|
1 |
|||||||||||
↓ |
|
|
↓ |
|
|
↓ |
|
|
↓ |
|||||||||||
2 |
|
2 |
|
|
3 |
|
2 |
|
|
5 |
|
2 |
|
|
|
|
|
|
|
|
2 |
|
1 |
|
|
2 |
|
1 |
|
|
4 |
|
2 |
|
2 |
|
|
|
1 |
|
|
0 |
|
|
|
|
1 |
|
|
|
|
1 |
|
2 |
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
|
|
|
|
|
|
|
|
↓ |
|
|
↓ |
|
|
↓ |
|
|
↓ |
|||||||||||
10 → 010 |
|
11 → 011 |
|
101 |
|
|
1 → 001 |
|||||||||||||
↓ |
||||||||||||||||||||
010011,101001 → 10011,101001 |
Рис. 1.8. Перевод восьмеричного числа в двоичное
При пересчете двоичного числа в восьмеричное все разряды необходимо разделить на тройки (тетрады), так, что бы один из разделителей обязательно был на месте «запятой», отделяя целую от дробной части. Старшая и младшая тетрады часто оказываются не полными. Для исправления этого нужно их дополнить нулями: у старшей тетрады нули необходимо дописать в начало, а в младшей – в конец (см. рис. 1.9 «*»). Проиллюстрируем это на примере перевода числа 10011,11.
10011,11 |
||
↓ |
||
10 | 011, | 11 |
||
↓ |
||
10 → 010* |
011 |
11 → 110* |
↓ |
↓ |
↓ |
0·22 + 1·21 + 0·20 = 2 |
0·22 + 1·21 + 1·20 = = 2 + 1 = 3 |
1·22 + 1·21 + 0·20 = = 4 + 2 = 6 |
↓ |
↓ |
↓ |
2 |
3 |
6 |
↓ |
||
23,6 |
Рис. 1.9. Перевод двоичного числа в восьмеричное
В итоге получилось следующее 10011,112 = 23,68 . Таким образом, взаимный перевод двоичных и восьмеричных чисел достаточно прост и не зависит от наличия дробной части у числа.