Методы перевода чисел

Автор работы: Пользователь скрыл имя, 31 Октября 2013 в 21:45, реферат

Описание работы

Метод 1. Из любой системы счисления в десятичную.
Число представляется в виде суммы произведений ЦИФРЫ на ВЕС РАЗРЯДА.
Вес разряда – это основание СС в степени равной номеру разряда.
Разряды нумеруются от разряда единиц: влево – в положительную сторону, вправо – в отрицательную. Разряд единиц имеет номер 0.

Файлы: 1 файл

Методы перевода чисел.doc

— 76.00 Кб (Скачать файл)

Методы перевода чисел

 

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

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

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

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


 

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

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

 

 

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

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)


 

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

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

 

 

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

1

0

 

-1

 
 

2

B

,

E(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 знака после запятой).


 

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

1.Умножаем 0,43 на основание 2: 0,43·2=0,86

2.Запоминаем целую часть (0), дробную  – умножаем дальше: 0,86·2=1,72

3.Снова запоминаем целую часть  (1), дробную – умножаем дальше: 0,72·2=1,44

4.Опять запоминаем  целую часть (1).

Умножение прекращается, т.к. достигнута заданная точность (три знака после запятой).

0,43

 

0,86

 

0,72

х

 

х

 

х

2

 

2

 

2

0,86

 

1,72

 

1,44


Результат перевода записывается В ПРЯМОМ ПОРЯДКЕ: 0,011(2)

Метод 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)


 

Перевод из двоичной в шестнадцатеричную СС: делается аналогично, но вместо триад используются ТЕТРАДЫ – группы цифр по ЧЕТЫРЕ разряда.

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


 

Переведем то же самое число 10011,101(2) в шестнадцатеричную СС:

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

1 0011 , 11(2)

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

1 0011 , 1100(2)

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

1 0011 , 1100(2)

1   3     ,   С(8)

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

 

Переведем теперь число 5FC,8(16) из шестнадцатеричной в двоичную СС:

По таблице перекодировки: 5(16) = 0101(2); F(16) = 1111(2); С(16) = 1100(2); 8(16) =1000.

Таким образом, результат получается: 10111111100,1(2) (нули справа и слева от числа можно не писать).

 

Источник


Информация о работе Методы перевода чисел