Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
3699.pdf
Скачиваний:
3
Добавлен:
13.11.2022
Размер:
365.2 Кб
Скачать

8

Лабораторная работа 1

Перевод чисел из одной системы счисления в другую

Задача перевода из одной системы счисления в другую часто встречается при программировании и особенно часто – при программировании на языке Ассемблера, например, при определении адреса ячейки памяти, для получения двоичного или шестнадцатеричного эквивалента десятичного числа. Отдельные стандартные процедуры языков программирования Паскаль, Бейсик, HTML и Си требуют задания параметров в шестнадцатеричной системе счисления. Отыскать неисправность в ЭВМ практически невозможно без представлений о двоичной системе счисления.

Сначала рассмотрим перевод из двоичной системы счисления в шестнадцатеричную и восьмеричную и наоборот. Это наиболее просто в связи с тем, что

16= 24 , а 8 = 23.

Правило 1

1.1.Для перевода шестнадцатеричного числа в двоичное надо каждую цифру исходного шестнадцатеричного числа заменить четырёхразрядным двоичным числом. Незначащие нули отбросить.

1.2.Для перевода восьмеричного числа в двоичное надо каждую цифру исходного восьмеричного числа заменить трёхразрядным двоичным числом. Незначащие нули отбросить.

Примеры:

1. Перевести число 7D2,ЕН в двоичную систему счисления.

Решение:

Буква Н означает, что число 7D2,Е представлено в шестнадцатеричной системе счисления. Используем правило перевода.

Переводимое

число

 

Результат

 

 

 

 

 

 

(7

D

2,

E)16

(11111010010,1110)2

0111 1101 0010 , 1110

 

 

Отмеченные крайние нули следует отбросить.

2. Перевести число 305,416 в двоичную систему счисления.

9

305,416 = 0011 0000 0101,01002 = 1100000101,012.

3. Перевести число 127,328 в двоичную систему счисления.

Решение:

Переводимое

 

число

 

Результат

 

 

 

 

 

 

 

(1

2

7,

3

2)8

1010111,01101 2

001 010 111 011 010

 

 

Отмеченные крайние нули следует отбросить.

Правило 2

2.1.Для перевода числа из двоичной системы счисления в шестнадцатеричную надо число разбить на четвёрки влево и вправо от запятой. Крайние группы, если необходимо, дополнить нулями. Затем каждую четвёрку двоичных цифр заменить соответствующей шестнадцатеричной цифрой.

2.2.Для перевода числа из двоичной системы счисления в восьмеричную надо число разбить на тройки влево и вправо от запятой. Крайние группы, если необходимо, дополнить нулями. Затем каждую тройку двоичных цифр заменить соответствующей восьмеричной цифрой.

Примеры:

1. Перевести число 10111110001,001В в шестнадцатеричную систему счисления. Решение:

Буква В означает, что число представлено в двоичной системе счисления. Используем правило перевода.

Переводимое число

 

Результат

 

 

 

(0101 1111 0 001, 0010)2

 

(5F1,2)16

5

F

1,

2

 

 

2.Перевести число 1010111,11011012 в шестнадцатеричную систему счисления.

1010111,11011012 =0101 0111,1101 10102 = 57,DA16.

3.Перевести число 1010111,11011012 в восьмеричную систему счисления.

10

 

Переводимое число

 

 

Результат

 

 

 

 

(001

010 111, 110 110 100)2

(127,664)8

1

2

7,

6

6

4

 

 

Правило 3

Задано число С, представленное в системе счисления с основанием S: C = Cn

Cn-1 …C1 C0 C-1 C-m.

Нужно перевести его в h-систему, выполняя действия в новой системе счисления (в h-системе). Для этого нужно представить его в виде суммы степеней S:

C = Cn Sn + Cn-1 Sn-1 +…+ C1 S1 + C0 S0 + C-1 S-1 +…+ C-m S-m,

где основание S, коэффициенты С и номера разрядов i выражены в новой h- системе. Разряды нумеруются от запятой влево (0, 1, 2, и т.д.) и вправо (-1, -2 и т.д.).

Примеры:

1. Перевести число 2Е5,А16 в десятичную систему счисления.

В данном случае S = 16, но все расчёты производим в десятичной системе счисления. Номера разрядов: влево от запятой 0, 1, 2, вправо от запятой -1. Во втором разряде стоит коэффициент, равный 2, то есть С2 = 2; в первом разряде С1 = Е, что соответствует числу 14 в десятичной системе счисления; в нулевом разряде С0 = 5; в минус первом разряде С-1 = А, что соответствует числу 10 в десятичной системе счисления. Подставляем эти значения в формулу

2Е5,А16 = 2 × 162 + 14 × 161 + 5 × 160 + 10 × 16-1 = 512 + 224 + 5 + 0,625= = 741,62510.

2. Перевести число 5210 в двоичную систему счисления.

В данном случае переводим число из системы с основанием 10, но все расчёты производим в двоичной системе счисления, следовательно, в двоичной системе число 10 соответствует числу 1010, то есть S = 1010. В первом разряде коэффициент равен 5, что соответствует двоичному числу 101, то есть С1 = 101; в нулевом разряде стоит коэффициент 2, что соответствует числу 10 в двоичной системе счисления, то есть С0 = 10.

5210 = 101 × 10101 + 10 × 10100 = 110010 + 10 = 1101002.

3. Перевести число 1101,1012 в десятичную систему счисления.

В данном случае S = 2, но все расчёты производим в десятичной системе счисления. Номера разрядов: влево от запятой 0, 1, 2, 3, вправо от запятой -1, 2, -3. В третьем разряде стоит коэффициент, равный 1, то есть С3 = 1; во втором разряде С2 = 1; в первом разряде С1 = 0; в нулевом разряде С0 = 1; в минус первом разряде С-1 = 1; в

11

минус втором разряде С-2 = 0; в минус третьем разряде С-3 = 1. Подставляем эти значения в формулу

1101,1012 = 1 × 23 + 1 × 22 + 0 × 21 + 1 × 20 + 1 × 2-1 + 0 × 2-2 + 1 × 2-3 = = 8 + 4 + 1 + 0,5 + 0,125 = 13,62510.

4. Перевести число 127,48 в десятичную систему счисления.

В данном случае S = 8, но все расчёты производим в десятичной системе счисления. Номера разрядов: влево от запятой 0, 1, 2, вправо от запятой -1. Во втором разряде С2 = 1; в первом разряде С1 = 2; в нулевом разряде С0 = 7; в минус первом разряде С-1 = 4. Подставляем эти значения в формулу

127,48 = 1 × 82 + 2 × 81 + 7 × 80 + 4 × 8-1 = 64 + 16 + 7 + 0,5 = 87,510.

Этот способ удобен при S<h и особенно для ручного перевода в десятичную систему счисления.

Правило 4

Для перевода целого числа из S-системы в h-систему счисления в арифметике S-системы нужно последовательно делить это число и получающиеся частные на h до тех пор, пока частное не станет меньше h. Старшей цифрой в новой записи числа будет последнее частное, а следующие за ней цифры дают остатки, вписанные в последовательности, обратной их получению. Все вычисления производятся в старой S-системе. (При S<h прежде, чем записать число, надо получившиеся остатки переписать в цифры h-системы). Дробные числа, наоборот, умножаются на h до тех пор, пока не получится целое число.

Примеры:

1. Перевести число 7510

в двоичную, восьмеричную и шестнадцатеричную

системы счисления.

 

 

 

 

 

 

 

 

 

 

 

 

 

31

 

 

 

 

 

 

 

 

 

31

 

 

 

 

16

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

8

31

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

30

15

 

 

2

 

 

 

 

24

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

16

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

14

 

 

7

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7

 

15

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

2

 

 

1

 

 

 

 

 

F

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

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