Перевод чисел из шестнадцатеричной системы в десятичную
Ричная
Шестнадцатеричная система счисления (шестнадцатеричные числа) — позиционная система счисления по целочисленному основанию 16. Обычно в качестве шестнадцатеричных цифр используются десятичные цифры от 0 до 9 и латинские буквы от A до F для обозначения цифр от 1010 до 1510, то есть (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F).
Для перевода шестнадцатеричного числа в десятичное необходимо это число представить в виде суммы произведений степеней основания шестнадцатеричной системы счисления на соответствующие цифры в разрядах шестнадцатеричного числа.
Например, требуется перевести шестнадцатеричное число 5A3 в десятичное. В этом числе 3 цифры. В соответствии с вышеуказанным правилом представим его в виде суммы степеней с основанием 16:
5A316 = 3·160+10·161+5·162
= 3·1+10·16+5·256 = 3+160+1280 = 144310
Преобразование десятичных чисел в двоичные
Допустим, нам нужно перевести число 19 в двоичное. Вы можете воспользоваться следующей процедурой:
|
|
19 /2 = 9 с остатком 1
9 /2 = 4 c остатком 1
4 /2 = 2 без остатка 0
2 /2 = 1 без остатка 0
1 /2 = 0 с остатком 1
Итак, мы делим каждое частное на 2 и записываем остаток в конец двоичной записи. Продолжаем деление до тех пор, пока в частном не будет 0. Результат записываем справа налево. Т.е. нижнее число будет самым левым и.т.д. В результате получаем число 19 в двоичной записи: 10011.
Преобразование десятичных чисел в троичные
Последовательно делите сначала число, а затем частные от деления на 3 до тех пор, пока очередное частное не станет меньше 3, и записываете остатки с право на лево. В конце приписываете почследнее частное.
38: 3 = 12 ост 2
12: 3 = 4 ост 0
4: 3 = 1 ост 1
Итого 38(10) = 1102(3)
Преобразование десятичных чисел в восьмеричные
Для перевода чисел из десятичной системы счисления в восьмеричную используют тот же "алгоритм замещения", что и при переводе из десятичной системы счисления в двоичную, только в качестве делителя используют 8, основание восьмеричной системы счисления:
Делим десятичное число А на 8. Частное Q запоминаем для следующего шага, а остаток a записываем как младший бит восьмеричного числа.
Если частное q не равно 0, принимаем его за новое делимое и повторяем процедуру, описанную в шаге 1. Каждый новый остаток записывается в разряды восьмеричного числа в направлении от младшего бита к старшему.
Алгоритм продолжается до тех пор, пока в результате выполнения шагов 1 и 2 не получится частное Q = 0 и остаток a меньше 8.
Например, требуется перевести десятичное число 3336 в восьмеричное. В соответствии с приведенным алгоритмом получим: 333610: 8 = 41710
333610 - 333610 = 0, остаток 0 записываем в МБ восьмеричного числа.
|
|
41710: 8 = 5210
41710 - 41610 = 1, остаток 1 записываем в следующий после МБ разряд восьмеричного числа.
5210: 8 = 610
5210 - 4810 = 4, остаток 4 записываем в старший разряд восьмеричного числа.
610: 8 = 010, остаток 0, записываем 6 в самый старший разряд восьмеричного числа.
Таким образом, искомое восьмеричное число равно 64108.
Преобразование десятичных чисел в 16-ричную
Для перевода чисел из десятичной системы счисления в шестнадцатеричную используют тот же "алгоритм замещения", что и при переводе из десятичной системы счисления в двоичную и восьмеричную, только в качестве делителя используют 16, основание шестнадцатеричной системы счисления:
Делим десятичное число А на 16. Частное Q запоминаем для следующего шага, а остаток a записываем как младший бит шестнадцатеричного числа.
Если частное q не равно 0, принимаем его за новое делимое и повторяем процедуру, описанную в шаге 1. Каждый новый остаток записывается в разряды шестнадцатеричного числа в направлении от младшего бита к старшему.
Алгоритм продолжается до тех пор, пока в результате выполнения шагов 1 и 2 не получится частное Q = 0 и остаток a меньше 16.
Например, требуется перевести десятичное число 32767 в шестнадцатеричное. В соответствии с приведенным алгоритмом получим: 3276710: 16 = 204710
3276710 - 3275210 = 15, остаток 15 в виде F записываем в МБ шестнадцатеричного числа.
204710: 16 = 12710
204710 - 203210 = 15, остаток 15 в виде F записываем в следующий после МБ разряд шестнадцатеричного числа.
12710: 16 = 710
12710 - 11210 = 15, остаток 15 в виде F записываем в старший разряд шестнадцатеричного числа.
710: 16 = 010, остаток 7 записываем в старший разряд шестнадцатеричного числа.
Таким образом, искомое шестнадцатеричное число равно 7FFF16.
Примеры
134 = 100001102
134=112223
134 = 02068
134 = 08616
187 = 1011101122
187=202213
187 = 02738
187 = 0BB16