3. Восьмеричная система
Счисления
Компьютерам очень удобно оперировать двоичными числами, но люди не привыкли работать с большим количеством цифр. Например, чтобы представить в двоичном виде число 1234 потребуется больше 10 двоичных цифр (10011010010). Поэтому были придуманы восьмеричная и шестнадцатеричная системы счислений. Они удобны как и десятичные числа тем, что для представления числа требуется меньшее количество разрядов. А по сравнению с десятичными числами, перевод в двоичное представление очень простой. Это как будто мы двоичное число разбили на группы по три или четыре разряда и каждой двоичной комбинации придумали значок. Вот таблица для восьмеричных цифр:
Если мы обращаемся к восьмеричной системе счисления, то это означает, что можно использовать гораздо больше цифр, чем это принято в двоичной, но меньше, чем в десятичной, а именно можно оперировать восемью цифрами: 0, 1, 2, 3, 4, 5, 6, 7 – и не более.
Логика конвертирования десятичных чисел в восьмеричные (кодирование в восьмеричную систему счисления) совершенно идентична приведенной выше.
Действительно, в определенный момент цифры заканчиваются (наступает "кризис переходного периода").
Десятичное число "8" становится восьмеричным числом "10" ("восьмеричной десяткой"). Число "9" будет восьмеричным числом "11", число "10" – восьмеричным числом "12". И так далее до десятичного числа "15", которое в восьмеричном виде равно числу "17". А дальше?
Цифры снова кончились. Как будет представлено десятичное число "16" в восьмеричной системе счисления?
178 + 1 =…,
но сумма "78 + 1" равняется "10" в восьмеричной системе счисления, а, следовательно, восьмеричный "десяток" необходимо складывать с "десятком",
уже имеющимся, т. е. получается сумма, присутствующая в восьмеричной системе: "1 + 1 = 2". В результате получается, что
178 + 1 = 208.
Дальше – восьмеричное число "21" и т. п., вплоть до восьмеричного числа "77". И только после этого будет восьмеричная "сотня".
Представим эту информацию в виде таблицы.
Соответствие десятичных и восьмеричных чисел
Десятичные числа |
Восьмеричные числа |
Десятичные числа |
Восьмеричные числа |
0-7 |
0-7 |
25-63 |
31-77 |
8 |
10 |
64 |
100 |
9-15 |
11-17 |
128 |
200 |
16 |
20 |
256 |
400 |
17-23 |
21-27 |
512 |
1000 |
24 |
30 |
1024 |
2000 |
Перевод чисел
То есть, смотрите, когда мы выписывали правый столбец (числа в восьмеричной системе счисления) мы руководствовались правилом «как только у нас заканчиваются цифры системы счисления мы пишем ноль и добавляем единицу к старшему разряду».
А теперь рассмотрим как перевети число из десятичной системы счисления в восьмеричную. Давайте возьмем число 259 в десятичной системе счисления.
Число в десятичной системе счисления делим на основание степени (восьмерку). Получаем какую-то целую часть и остаток. Если целая часть больше либо равна 8, то опять делим на основание степени и получаем целую часть и остаток. Как только целая часть становится меньше восьми, начинаем выписывать, сначала последнюю целую часть, а затем все остатки в обратном порядке. Это и будет число в новой системе счисления, в нашем случае в восьмеричной.
И сделаем обратное преобразование переведем число 403 в восьмеричной системе счисления в десятичную.
То есть вначале мы нумеруем числа справа налево для того, чтобы затем каждое из чисел в восьмеричной системе счисления умножить на восьмерку в соответствующей степени. Сложив все, мы получим результат в десятичной системе счисления.
Арифметические операции.
Сложение:
6354
+ 705
----
7361
223,2
+ 427,54
------
652,74
357
+ 234
---
613
25
+ 37
--
64
65
+ 56
---
143
677
+ 350
----
1247
Вычитание:
37
- 25
--
12
750
- 236
---
512
1510,2
- 1230,54
-------
257,44
6354
- 705
-----
4447
46
- 27
---
17
Умножение:
1170,64
* 46,3
--------
355 234
7324 70
47432 0
---------
57334,134
6354
* 705
------
45224
0000
55164
-------
5563624
356,53
* 32,71
-------
356 53
32065 5
73526
131401
----------
14422,0223
163
* 63
----
531
1262
-----
13351
5
* 6
---
36
Деление:
46230 |53
- |----
455 |710
------
53
-
53
------
0
13351 |163
- |----
1262 |63
-----
531
- 531
-----
0
36 |6
- |---
36 |5
--
0
43 |16
- |---
34 |2,4
---
70
-
70
---
0
1045021,12 |5271
- |------
15271 |146,32
-----------
31572
-
25344
-----------
42261
-
40126
-----------
21331
-
20053
-----------
12562
-
12562
-----------
0
