Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MU_Kontr_rab_ISvE.doc
Скачиваний:
5
Добавлен:
01.07.2025
Размер:
1 Мб
Скачать
☆

Арифметические операции в восьмеричной и шестнадцатеричной системе счисления

Хотя компьютер работает в 2-ой системе счисления, но часто с целью облегчения записи знаков на бумаге или ввода их с клавиатуры компьютера удобнее пользоваться 8-ми или 16-ми числами, тем более что, процедура взаимного перевода чисел из каждой из этих систем в 2-ую и обратно очень проста.

Перевод чисел из 10-ой системы счисления в 8-ую производится (по аналогии с 2-ой системой счисления) с помощью делений на 8 (для целой части) и умножений на 8 (для дробной части). Например, переведем число 58,32(10):

Таким образом, 58,32(10) = 72,243... (8).

Проверим перевод (108) обратным переводом (810):

72,243(8)=781+280+28-1+48-2+38-3=56+2+ =58 =58,3183593.

Оценим погрешность перевода: =58,32 – 58,3183593=0,0016407. Ошибка, как видно, имеется лишь в 3-ем знаке после запятой.

Заметим, что из конечной дроби в одной системе может получиться бесконечная дробь в другой.

Перевод чисел из 10-ой системы счисления в 16-ую производится аналогично. Переведём 152,86(10) в 16-ую систему счисления.

Результат перевода: 152,86(10)=98,DC2(16). Осуществим проверку перевода (1016) обратным переводом (1610):

98,DC2(16)=9161+8160+1316-1+1216-2+216-3=144+8+ =

=152 =152 =152,8598632(10).

Оценим погрешность перевода: =152,86(10) – 152,8598632(10)=0,0001368(10).

Погрешность видим в 4-ом знаке после запятой, неплохая точность.

С практической точки зрения представляет интерес процедура взаимного преобразования 2-ых, 8-ых и 16-ых чисел. Для этого воспользуемся таблицей 2 чисел от 0 до 15 (в 10-ой системе счисления) и их соответствий в других системах счисления.

Таблица 2 – Соответствие чисел в различных системах счисления

Двоичная

Восьмеричная

Десятичная

Шестнадцатеричная

0

0

0

0

1

1

1

1

10

2

2

2

11

3

3

3

100

4

4

4

101

5

5

5

110

6

6

6

111

7

7

7

1000

10

8

8

1001

11

9

9

1010

12

10

A

1011

13

11

B

1100

14

12

C

1101

15

13

D

1110

16

14

E

1111

17

15

F

Из таблицы 2 видно, что для перевода 2-го числа в 8-ое необходимо разбить его влево и вправо от запятой (точки) на группы по 3 цифры (триады), причём крайние неполные триады можно дополнить нулями (это не изменяет содержимого числа). Затем каждую триаду заменить ее 8-ым эквивалентом. Например,

11101001,10001011(2) = 011 101 001, 100 010 110(2) = 351,426(8).

Перевод 2-го числа в 16-ое производится аналогично путем разбиения его влево и вправо от запятой (точки) на группы по 4 цифры (тетрады), причём крайние неполные тетрады можно дополнить нулями (это не изменяет

содержимого числа). Затем каждую тетраду заменить ее 16-ым эквивалентом.

Например,

11010110011,1101010111(2) = 0110 1011 0011, 1101 0101 1100(2) =

= 6B3,D5C(16).

Рассмотренные правила перевода (28 и 216) обладают свойством реверса (82 и 162),т.е. 8-ое (16-ое) число переводится в 2-ое путем замены каждой цифры числа соответствующей триадой (тетрадой) 2-ых цифр, благодаря тому, что числа 8=23 и 16=24 являются степенями (3 и 4) основания 2-ой системы счисления.

Рассмотрим еще один замечательный способ перевода чисел из 10-ой системы счисления в другую – метод вычитания степеней. В этом случае из числа последовательно вычитается максимально допустимая степень требуемого основания, умноженная на максимально возможный коэффициент, меньший основания. Далее такая же процедура производится многократно с остатками от максимальной степени до нулевой. Полученные коэффициенты, записанные в порядке их получения, являются значащими цифрами числа в новой системе. Продемонстрируем метод на примере перевода числа 114(10) в 2-ую систему счисления:

114 – 1 26 = 114 – 64 = 50,

50 – 1 25 = 50 – 32 = 18,

18 – 1 24 = 18 – 16 = 2,

2 – 0 23 = 2 – 0 = 2,

2 – 0 22 = 2 – 0 = 2,

2 – 1 21 = 2 – 2 = 0,

0 – 0 20 = 0 – 1 =  1.

Запишем результат: 114(10) = 1110010(2).

Для закрепления метода вычитания степеней переведём это же число 114(10) в 8-ую систему счисления:

114 – 1 82 = 114 – 64 = 50,

50 – 6 81 = 50 – 48 = 2,

2 – 2 80=2 – 2 = 0.

Получили результат: 114(10)=162(8).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]