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



 

Как перевести число, записанное в одной системе счисления, например, десятичной, в какую-либо другую систему. Рассмотрим основные правила перевода.

Перевод чисел из одной системы счисления в другую составляет важную часть машинной арифметики. Рассмотрим основные правила перевода.

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

.      (7)

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

Таблица 4

Степени числа 2

n (степень) 0 1 2 3 4 5 6 7 8 9 10
1 2 4 8 16 32 64 128 256 512 1024

Пример. Число 111010002 перевести в десятичную систему счисления.

111010002=1·27+1·26+1·25+0·24+1·23+0·22+0·21+0·20=23210

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

.

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

Таблица 5

Степени числа 8

n (степень) 0 1 2 3 4 5 6
8n 1 8 64 512 4096 32768 262144

Пример. Число 750138 перевести в десятичную систему счисления.

750138=7·84+5·83+0·82+1·81+3·80=3124310.

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

X16=A16n-1+An-1·16n-2+An-2·16n-3+…+A161+A160

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

Таблица 6

Степени числа 16

n (степень) 0 1 2 3 4 5 6
16n 1 16 256 4096 65536 1048576 16777216

Пример. Число FDA116 перевести в десятичную систему счисления.

FDA116=15·163+13·162+10·161+1·160=6492910.

4. Для перевода десятичного числа в двоичную систему его необходимо последовательно делить на 2 до тех пор, пока не останется остаток, меньший или равный 1. Число в двоичной системе записывается как последовательность последнего результата деления и остатков от деления в обратном порядке.

Пример. Число 2210 перевести в двоичную систему счисления.

2210=101102.

5. Для перевода десятичного числа в восьмеричную систему его необходимо последовательно делить на 8 до тех пор, пока не останется остаток, меньший или равный 7. Число в восьмеричной системе записывается как последовательность цифр последнего результата деления и остатков от деления в обратном порядке.

Пример. Число 57110 перевести в восьмеричную систему счисления.

57110=10738.

6. Для перевода десятичного числа в шестнадцатеричную систему его необходимо последовательно делить на 16 до тех пор, пока не останется остаток, меньший или равный 15. Число в шестнадцатеричной системе записывается как последовательность цифр последнего результата деления и остатков от деления в обратном порядке.

Пример. Число 746710 перевести в шестнадцатеричную систему счисления.

746710=1D2B16

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

Пример. Число 10010112 перевести в восьмеричную систему счисления.

001 001 0112=1138.

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

Пример. Число 10111000112 перевести в шестнадцатеричную систему счисления.

0010 1110 00112=2E316

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

Пример. Число 5318 перевести в двоичную систему счисления.

5318=1010110012

10. Для перевода шестнадцатеричного числа в двоичную необходимо каждую цифру заменить эквивалентной ей двоичной тетрадой.

Пример. Число EE816 перевести в двоичную систему счисления.

EE816=1110111010002

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

Пример. Число FEA16 перевести в восьмеричную систему счисления.

FEA16=1111111010102,

111 111 101 0102=77528.

Пример. Число 66358 перевести в шестнадцатеричную систему счисления.

66358=1101100111012,

1101 1001 11012=D9D16.

Пример. Для перевода из 2-ной в 8-ную и наоборот, из 2-ной в 16-ную и наоборот, из 8-ной в 16-ную и обратно, используется таблица 7 следующего вида:

Таблица 7

Таблица основание системы

Основание системы

10 2 8 16
0 0 000 0000
1 1 001 0001
2 - 010 0010
3 - 011 0011
4 - 100 0100
5 - 101 0101
6 - 110 0110
7 - 111 0111
8 - - 1000
9 - - 1001
10 - - 1010
11 - - 1011
12 - - 1100
13 - - 1101
14 - - 1110
15 - - 1111

При переводе в 8-ную систему или из нее необходимо группировать в тройки биты, а при переводе в 16-ную или из нее – группировать их в четверки битов. Можно добавлять, если нужно, незначащие нули (слева от целой части и справа от мантиссы) или отбрасывать их.

Эти правила зависят от того, в какой системе счисления осуществляются арифметические операции, связанные с преобразованием чисел, - в той, в какой представлено исходное число, или в той, в которую оно переводится.

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

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

C=CmPm+Cm-1 Pm-1+…+C1P1+C0P0 +C-1P-1+…+C-sP-s,      (8)

где P – основание, C – коэффициенты, i – номера разрядов выражены в новой системе. Первая позиция слева от разделителя целой и дробной части имеет номер 0, слева от неё находится первая позиция, ещё левее – вторая и т.д. Первая позиция справа от разделителя имеет номер -1, следующая за ней – номер -2 и т.д. Все действия надо выполнять в новой системе.

Примеры.

 3 2 1 0 - 1 -2

1101,012 = 1·23  + 1·22  + 0·21 + 1·20 + 0·2-1 + 1·2-2 = 8 + 4 + 1 + 0,25 = 13,2510,

1 0 -1 -2

52,258 = 5·81 + 2·80 + 2·8-1 + 5·8-2 = 40 + 2 + 0,25 + 0,078 = 42,32810,

 2 1 0 -1

1A9,416 = 1·162  + 10·161 + 9·160 + 4·16-1 = 256 + 160 + 9 + 0,25 = 425,2510.

Правило 2. Перевод десятичных чисел в другую систему счисления.

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

1. Разделить число на основание той системы счисления, в которую осуществляется перевод: выделить целую часть частного и остаток от деления. Остаток будет младшим разрядом искомого числа;

2. Целую часть частного снова разделить на основание системы счисления. Остаток от деления будет следующим разрядом числа;

3. Продолжать процесс до тех пор, пока целая часть частного не станет равной нулю.

Примеры.

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

35610=1011001002

356 2

2   178  2

15 16  89 2

14   18 8 44 2

16 18  9 4 22 2

16   0  8 4 2  11 2

0            1 4 2 10 5 2

                          01 4 2 2

                                  0        1 2 1

                                                       0

1. Перевести десятичное число 625 в восьмеричную систему счисления.

62510=11618

625 8

56  78 8

65 72 9 8

64 6 8 1  

1        1   

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

18210=B616

182 16

16 11 = B

22

16

6

Правило 3. Перевод дробной части десятичных чисел в другую систему счисления.

Чтобы перевести дробную часть десятичных чисел в другую систему счисления, нужно выполнить следующие действия:

1. Умножить исходную дробь на основание системы счисления, в которую осуществляется перевод. Целая часть произведения будет старшим разрядом дробной части числа (позиция номер -1);

2. Дробную часть произведения снова умножить на основание системы счисления. Целая часть этого произведения будет следующим разрядом дроби (позиция номер -2);

3. Продолжать процесс до тех пор, пока дробная часть очередного произведения не станет равной нулю, или пока не будет достигнута нужная точность числа.

Примеры.

1. Перевести десятичное число 0,25 в двоичную систему счисления

0,2510=0,012

0,25 · 2 = 0,5; 0 – старший разряд двоичной дроби;

0,5· 2 = 1,0   1 – следующий разряд.

2. Перевести десятичное число 0,53 в двоичную систему счисления с точностью до шестого знака после запятой.

0,5310 = 0,1000012

0,53 · 2 = 1,06;

0,06 · 2 = 0,12

0,12 · 2 = 0,24

0,24 · 2 = 0,48

0,48 · 2 = 0,96

0,96 · 2 = 1,92

3. Перевести десятичное число 0,13 в восьмеричную систему счисления с точностью до шестого знака после запятой.

0,1310 =0,1024368

0,13 · 8 = 1,04

0,04 · 8 = 0,32

0,32 · 8 = 2,56

0,56 · 8 = 4,48

0,48 · 8 = 3,84

0,84 · 8 = 6,72

4. Перевести десятичное число 0,96 в восьмеричную систему счисления с точностью до пятого знака после запятой.

0,9610 = 0,753418

0,96 · 8 = 7,68

0,68 · 8 = 5,44

0,44 · 8 = 3,52

0,52 · 8 = 4,16

0,16 · 8 = 1,28

5. Перевести десятичное число 0,891 в шестнадцатеричную систему счисления с точностью до пятого знака после запятой.

0,89110 = 0,Е418916

0,891 · 16 = 14,256

0,256 · 16 = 4,096

0,096 · 16 = 1,536

0,536 · 16 = 8,576

0,576 · 16 = 9,216

6. Перевести десятичное число 0,398 в шестнадцатеричную систему счисления с точностью до четвёртого знака после запятой.

0,39810 = 0,65Е3

   0,398 · 16 = 6,368

   0,368 · 16 = 5,888

   0,888 · 16 = 14,208

0,208 · 16 = 3,328

7. Перевести десятичное число 13,25 в двоичную систему счисления. 13,2510 = 1101,012

13 2    
12 6 2  
1 6 3 2
  0 2 1
    1  

 

0,25 · 2 = 0,5;

0,5· 2 = 1,0

 

 

 

8. Перевести десятичное число 42,33 в восьмеричную систему счисления с точностью до двух знаков после запятой.

9. Перевести десятичное число 425,77 в шестнадцатеричную систему счисления с точностью до трёх знаков после запятой.

425,7710 = 1А9,C5116

 

425 16  
32 26 16
105 16 1
96 10  
9    

                 0,77 · 16 = 12,32

                 0,32 · 16 = 5,12

                 0,12 · 16 = 1,92

 

 

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

Для перевода числа из восьмеричной в двоичную систему счисления достаточно перевести каждый символ отдельно, а затем записать символы последовательно друг за другом, причём, каждое двоичное число, соответствующее одному восьмеричному символу, должно состоять из трёх разрядов – триад (т.к. 8 = 23). Пустые позиции в начале числа заполняются нулями.

Примеры.

1) Перевести восьмеричное число 615,278 в двоичную систему счисления:

68 = 1102

18 = 0012

58 = 1012

28 = 0102

78 = 1112

615,278 = 110001101,0101112

2) Перевести восьмеричное число 173,548 в двоичную систему счисления

18 = 0012

78 = 1112

38 = 0112

58 = 1012

48 = 1002

173,548 = 001111011,1011002

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

Обратный перевод осуществляется следующим образом:

1. Двоичное число разбивается на триады. Разбивка выполняется вправо и влево от разделителя целой и дробной части. Неполные крайние триады дописываются нулями.

2. Выполняется перевод отдельно для каждой триады, получившиеся символы записываются последовательно друг за другом.

Примеры.

1) Перевести двоичное число 10111001,011012 в восьмеричную систему счисления.

 


1 0 1 1 1 0 0 1 , 0 1 1 0 12 = 010 111 001 ,011 0102 = 271,328.

1) Перевести двоичное число 1011000011,10012 в восьмеричную систему счисления.

1011000011,10012 = 001 011 000 011 , 100 1002 = 1303,448.

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

Для перевода числа из шестнадцатеричной в двоичную систему счисления достаточно перевести каждый символ отдельно, а затем записать символы последовательно друг за другом, причём, каждое двоичное число, соответствующее одному шестнадцатеричному символу, должно состоять из четырёх разрядов – тетрад (т.к. 16 = 24). Пустые позиции в начале числа заполняются нулями.

Примеры.

1) Перевести шестнадцатеричное число 6F3,A516 в двоичную систему счисления

616 = 01102

F16 = 11112

316 = 00112

A16 = 10102

516 = 01012

6F3,A516 = 011011110011,101001012

1) Перевести шестнадцатеричное число A39,F416 в двоичную систему счисления

A16 = 10102

316 = 00112

916 = 10012

F16 = 11112

416 = 01002

A39,F416 = 101000111001,111101002

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

Обратный перевод осуществляется следующим образом:

1. Двоичное число разбивается на тетрады. Разбивка выполняется вправо и влево от разделителя целой и дробной части. Неполные крайние тетрады дописываются нулями.

1. Выполняется перевод отдельно для каждой тетрады, получившиеся символы записываются последовательно друг за другом.

Примеры.

1) Перевести двоичное число 111101,011012 в шестнадцатеричную систему счисления.

111101,011012  = 0011 1101 , 0110 10002 = 3D,6816.

1) Перевести двоичное число 1010000,011102 в шестнадцатеричную систему счисления.

1010000,011102 = 0101 0000 , 0111 00002 = 50,716.

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

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

Для этого необходимо выполнить следующие действия:

1. Восьмеричное число перевести в двоичное число, причём, каждое двоичное число, соответствующее одному восьмеричному символу, должно состоять из триад;

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

Примеры.

1) Перевести восьмеричное число 534,7138 в шестнадцатеричную систему счисления.

534,7138 = 1 0 1 0 1 1 1 0 0 , 1 1 1 0 0 1 0 1 12 = 0001  0101 1100, 1110 0101 10002

58 38 48 78 18 38 = 15С,Е5816.

2) Перевести восьмеричное число 360,2348 в шестнадцатеричную систему счисления.

 


360,2348 = 0 1 1 1 1 0 0 0 0 , 0 1 0 0 1 1 1 0 02 = 0000 1111 0000, 0100 1110

38 68 08  28 38 48

00002 = F0,4E16.

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

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

Для этого необходимо выполнить следующие действия:

1. Шестнадцатеричное число перевести в двоичное число, причём, каждое двоичное число, соответствующее одному шестнадцатеричному символу, должно состоять из тетрад;

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

Примеры.

1) Перевести шестнадцатеричное число A2C,316 в восьмеричную систему счисления.

 


A2C,316 = 1 0 1 0 0 0 1 0 1 1 0 0 , 0 0 1 1 = 101 000 101 100 , 001 1002 = 5054,148.

A16   216 C16    316     

2) Перевести шестнадцатеричное число CBF5,E616 в восьмеричную систему счисления.

 


CBF5,E616 = 1 1 0 0 1 0 1 1 1 1 1 1 0 1 0 1 , 1 1 1 0 0 1 1 02 = 001 100 101 111 110  

C16 B16 F16    516   E16    616

101, 111   001 1002 = 145765,71416

 


Дата добавления: 2019-09-13; просмотров: 379; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!