Информация к новости
  • Просмотров: 13938
  • Автор: sulicompany
  • Дата: 18-02-2013, 19:18
 (голосов: 0)
18-02-2013, 19:18

Перевод чисел в различных системах счисления

Категория: Электроника » Микропроцессоры


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

Перевести число 75,375 в двоичную систему счисления.

а) переведем в двоичную систему целую часть - 75

    75  : 2 = 37 ( 1 )

     37 : 2 = 18 ( 1 )

     18 : 2 =   9 ( 0 )

       9 : 2 =   4 ( 1 )

       4 : 2 =   2 ( )

       2 : 2 =   1 ( 0 )

       1 : 2 =   0 ( 1 )

Закончив деление, запишем остатки в  обратном  порядке, и получим искомый результат:

75=10010112

 

б) переведем в двоичную систему дробную часть - 0,375

0,375

       2

0,750

       2

1,500

       2

1,000

Выделенные числа запишем в естественном порядке и получим дробное число в двоичной системе счисления:

0,375 = 0,0112

в) получив целую и дробную части числа в двоичном виде (75=10010112    и   0,375 = 0,011) можем сделать вывод:

75,375=75+0,375 = 10010112+0,0112=1001011,0112, значит 75,375=1001011,0112

 

Пример: перевод чисел из десятичной системы счисления в шестнадцатеричную систему счисления.

 Представить десятичное число 157,23 в шестнадцатеричной системе счисления. Целая часть числа равна 157,

дробная - 0,23.

а) переведем в двоичную систему целую часть - 157

157 : 16 = 9 (13 или D)

    9 : 16  = 0            ( 9 )

 Закончив деление, запишем остатки в  обратном  порядке, и получим искомый результат:

157=9D 16

а) переведем в двоичную систему дробную часть - 0,23.

Результат умножения 0,23 на 16 равен 3,68. Целая часть этого числа равна 3, значит первый коэффициент

дробной части равен 3. Дробная часть равна 0,68. Снова умножим ее на основание системы: 0,68*16=10,88.

Целая часть равна 10 или в шестнадцатеричной системе А. Дробная часть равна 0,88, она опять умножается

на 16 и так далее.

Выпишем весь процесс:

0,23 * 16 =   3,68  (  3 )

0,68 * 16 = 10,88  ( А )

0,88 * 16 = 14,08  ( Е )

0,08 * 16 =   1,28  ( )

0,28 * 16 =   4,48  ( 4 )

0,48 * 16 =   7,68  ( 7 )

0,68 * 16 = 10,88  ( А )

0,88 * 16 = 14,08  ( Е )

0,08 * 16 =   1,28  ( )

0,28 * 16 =   4,48  ( 4 )

0,48 * 16 =   7,68  ( 7 )

0,68 * 16 = 10,88  ( А )

0,88 * 16 = 14,08  ( Е )

Замечаем, что последовательность чисел 0,68; 0,88; 0,08; 0,28; 0,48 повторилась уже 2 раза и начинается

в третий раз. Получается бесконечная шестнадцатеричная дробь в которой период    

      (бесконечно повторяемая последовательность цифр) заключен в скобки:

  157,23=9D,3(АЕ147)16

 

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

основанием каждый коэффициент переводимого числа умножается на основание системы

в степени соответствующей этому коэффициенту и полученные результаты складываются.

 

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

Перевести число 1001011,0112  в десятичную систему счисления

1001011,011= 1*26+0*25+0*24+1*23+0*22+1*21+1*20+0*2-1+1*2-2+1*2-3 =64+8+2+1+0,25+0,125=75,375

 

Двоичная система проста, так как использует две цифры, но громоздка. В десятичной хранить числа в памяти

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

Необходима система счисления компактнее двоичной, но с более простым переводом.

2= 8                      0, 1, 2, 3, 4, 5, 6, 7.

 

Для перевода из двоичной системы счисления в восьмеричную необходимо разбить данное

двоичное число вправо и влево от запятой на триада  ( три цифры ) и представить

каждую триаду соответствующим восьмеричным кодом. При невозможности разбиения

на триады допускается добавление нулей слева в целой записи числа и справа в дробной части числа.

Для обратного перевода каждую цифру восьмеричного числа представляют соответствующей

триадой двоичного кода.

Десятичная система счисления

Двоичная система счисления

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

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

Триады (0-7)

Тетрады (0-15)

0

000

0000

00

0

1

001

0001

01

1

2

010

0010

02

2

3

011

0011

03

3

4

100

0100

04

4

5

101

0101

05

5

6

110

0110

06

6

7

111

0111

07

7

8

 

1000

10

8

9

 

1001

11

9

10

 

1010

12

A

11

 

1011

13

B

12

 

1100

14

C

13

 

1101

15

D

14

 

1110

16

E

15

 

1111

17

F

16

10000

20

10

 

Пример: перевод чисел из двоичной системы счисления в восьмеричную систему счисления.

Переведем число 1001011,0112 в восьмеричную систему счисления. Разобьем данное число на триады,

приписав слева недостающие нули:

001 001 011 , 011

1     1     3   ,   3

и заменим каждую триаду соответствующим восьмеричным кодом (см. таблицу).  Можем сделать вывод:

1001011,0112 =  113,38

 

Пример: перевод чисел из восьмеричной системы счисления в двоичную систему счисления.

Переведем число 347,258 в двоичную систему счисления. Каждую цифру восьмеричного числа заменим

соответствующей триадой (см. таблицу).

3     4    7    ,   2     5

011 100 111 , 010 101

Запишем ответ, удалив нули слева в записи числа:

347,258 = 11100111,0101012

 

Восьмеричная система компактнее двоичной и с более простым переводом чисел, однако, современные

требования к ЭВМ заставили создавать шестнадцатеричную систему счисления.

24 = 16          1, 2, 3, 4, 5, 6, 7, 8, 9, ABCDEF.

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

число вправо и влево от запятой на тетрады ( по 4 цифры ) и представить каждую тетраду соответствующим шестнадцатеричным кодом. При невозможности разбиения на тетрады допускается добавление нулей  слева в целой записи числа и справа в дробной части числа. Для обратного перевода каждую цифру шестнадцатеричного числа представляют тетрадой двоичного кода.

 

Пример: перевод чисел из двоичной системы счисления в шестнадцатеричную систему счисления.

Переведем число 1001011,0112 в шестнадцатеричную систему счисления. Разобьем данное число на тетрады, приписав слева в целой части, и справа в дробной части недостающие нули:

0100  1011, 0110

4       В   ,    6

и заменим каждую тетраду соответствующим шестнадцатеричным кодом (см. таблицу).  Можем сделать вывод:

1001011,0112 =  4В,616

 

Пример: перевод чисел из шестнадцатеричной системы счисления в двоичную систему счисления.

Переведем число А4F,C516 в двоичную систему счисления. Каждую цифру шестнадцатеричного числа заменим соответствующей тетрадой (см. таблицу).

A      4       F      ,    C      5

1010  0100  1111 ,  1100  0101

Запишем ответ, удалив нули слева в записи числа:

A4F,C516 = 101001001111,110001012