Перевод целых чисел из одной системы счисления в другую
Как перевести число, записанное в одной системе счисления, например, десятичной, в какую-либо другую систему. Рассмотрим основные правила перевода.
Перевод чисел из одной системы счисления в другую составляет важную часть машинной арифметики. Рассмотрим основные правила перевода.
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=An·16n-1+An-1·16n-2+An-2·16n-3+…+A2·161+A1·160
При переводе удобно пользоваться таблицей степеней числа 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
0 2 1 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 12 = 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; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!