Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лаб_работы / Лабораторная_работа_4 / Методы переводода чисел

.doc
Скачиваний:
27
Добавлен:
19.05.2015
Размер:
68.61 Кб
Скачать

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

Метод 1. Из любой системы счисления в десятичную систему.

Число представляется в виде суммы произведений ЦИФРЫ на ВЕС РАЗРЯДА.

Вес разряда – это основание системы счисления в степени равной номеру разряда.

Разряды нумеруются от разряда единиц: влево – в положительную сторону, вправо – в отрицательную. Разряд единиц имеет номер 0.

5642,9(10)

Номер разряда

3

2

1

0

-1

5

6

4

2,

9(10)

= 5·103 + 6·102 + 4·101 + 2·100 + 9·10-1

Вес разряда

103

102

101

100

10-1

1001,101(2) = 9,625(10)

Номер разряда

3

2

1

0

-1

-2

-3

1

0

0

1,

1

0

1(2)

= 1·23 + 0·22 + 0·21 + 1·20 + 1·2-1 + 0·2-2 + 1·2-3 =

Вес разряда

23

22

21

20

2-1

2-1

2-1

= 8 + 0 + 0 + 1 + + 0 + = 9,625(10)

214,6(8) = 140,75(10)

Номер разряда

2

1

0

-1

2

1

4,

6(8)

= 2·82 + 1·81 + 4·80 + 6·8-1 = 128 + 8 + 4 + = 140,75(10)

Вес разряда

82

81

80

8-1

2В,Е(16) = 43,875(10)

Номер

разряда

1

0

-1

2

В,

Е(16)

= 2·161 + 11·160 + 14·16-1 = 32 + 11 + = 43,875(10)

Вес

разряда

161

160

16-1

Метод 2. Из десятичной системы счисления в любую другую.

В этом случае целая и дробная часть переводятся по отдельным правилам.

Для целой части: нужно последовательно разделить число и частные на основание новой системы счисления до получения остатка. Деление продолжается до тех пор, пока частное не станет МЕНЬШЕ делителя, т.е. основания новой системы счисления.

В первом шаге деления получается МЛАДШАЯ цифра числа.

Переведем число 30(10) в двоичную, восьмеричную и шестнадцатеричную систему счисления:

в двоичную

1. Сначала разделим 30 на 2. Получаем 15 (в остатке – 0)

2. Теперь делим на 2 получившееся частное: 15:2=7 (в остатке – 1)

3. Опять делим на 2 получившееся частное: 7:2=4 (в остатке – 1)

4. Снова делим на 2 получившееся частное: 4:2=2 (в остатке – 0)

5. Продолжаем деление: 2:2=1 (в остатке – 0). Деление прекращается, т.к получившееся частное меньше основания новой системы счисления (1<2)

Деление обычно делают в столбик:

30

2

0

15

2

1

7

2

1

3

2

1

1

Результат перевода записывается В ОБРАТНОМ ПОРЯДКЕ. Первая цифра полученного результата – это последнее частное: 11110(2)

Аналогично производится перевод в восьмеричную системы счисления:

30

8

6

3

Деление прекращается после первого же шага деления, т.к. получившееся частное меньше основания СС (3<8). Результат: 36(8)

Аналогично производится перевод в шестнадцатеричную систему счисления:

30

16

14

1

Деление прекращается после первого же шага деления. Остаток «14» записывается цифрой Е. Результат: 1E(16)

Метод 3. Поразрядный метод перевода чисел: перевод чисел между двоичной, восьмеричной и шестнадцатеричной системами счисления туда и обратно

Для перевода из двоичной системы счисления в восьмеричную: 1) число ОТ ЗАПЯТОЙ вправо и влево разбивается на группы по 3 разряда (триады);

2) недостающие разряды В ДРОБНОЙ ЧАСТИ числа дополняются нулями;

3) каждая триада двоичных цифр заменяется одной восьмеричной цифрой в соответствии с ТАБЛИЦЕЙ ПЕРЕКОДИРОВКИ.

При обратном переводе каждая восьмеричная цифра заменяется ТРОЙКОЙ двоичных цифр (триадой).

Таблица перекодировки

2

0

1

10

11

100

101

110

111

1000

1001

1010

1011

1100

1101

1110

1111

8

0

1

2

3

4

5

6

7

10

11

12

13

14

15

16

17

16

0

1

2

3

4

5

6

7

8

9

A

B

C

D

E

F

Переведем число 10011,101(2) в восьмеричную систему счисления:

1) вправо и влево от запятой разбиваем число на триады:

10 011 , 11(2)

2) т.к. справа триады не получилось – слева к числу дописываем один ноль:

10 011 , 110(2)

3) по таблице перекодировки заменяем каждую триаду на одну цифру:

10 011 , 110(2)

2 3 , 6(8)

Таким образом, результат: 23,6(8)

Переведем теперь число 73,4(8) из восьмеричной в двоичную систему счисления:

По таблице перекодировки: 7(8) = 111(2); 3(8) = 011(2); 4(8) = 100(2). Таким образом, результат получается: 111011,1(2)

Обратите внимание на следующий момент: в таблице перекодировки 3(8) = 11(2). Но по правилу перевода одна восьмеричная цифра заменяется на ТРИ двоичные цифры, поэтому вперед дописывается 0 – он не изменяет значения числа: 3(8) = 011(2). И наоборот: нули в конце дробной части можно отбросить: 0,100(2) = 0,1(2)

3