Системы счисления. Перевод из одной системы счисления в другую.
ПЕРЕВОД ЧИСЕЛ ИЗ ДВОИЧНОЙ СИСТЕМЫ В ДЕСЯТИЧНУЮ
Для перевода двоичного числа в десятичное необходимо это число представить в виде суммы произведений степеней основания двоичной системы счисления на соответствующие цифры в разрядах двоичного числа.
Например, требуется перевести двоичное число 110101 в десятичное. В этом числе 6 цифр и 6 разрядов (разряды считаются, начиная с нулевого, которому соответствует младший бит). В соответствии с уже известным нам правилом представим его в виде суммы степеней с основанием 2:
1101012 = (1х25)+(1х24)+(0х23)+(1х22)+(0х21)+(1х20) = 32+16+4+1 = 5310
ПЕРЕВОД ЧИСЕЛ ИЗ ВОСЬМЕРИЧНОЙ СИСТЕМЫ В ДЕСЯТИЧНУЮ
Перевод производится по аналогии с переводом из двоичной в десятичную систему счисления.
Например, требуется перевести восьмеричное число 4754 в десятичное. В этом числе 4 цифры и 4 разряда ( разряды считаются, начиная с нулевого, которому соответствует младший бит). В соответствии с уже известным нам правилом представим его в виде суммы степеней с основанием 8:
47548 = (4х83)+(7х82)+(5х81)+(4х80) = 2048 + 448 + 40 + 4 = 254010
Переводы из других систем счисления в десятичную происходят по аналогии с вышеописанными способами.
ПЕРЕВОД ЧИСЕЛ ИЗ ДЕСЯТИЧНОЙ СИСТЕМЫ В ВОСЬМЕРИЧНУЮ
Для перевода чисел из десятичной системы счисления в восьмеричную используют тот же «алгоритм замещения», что и при переводе из десятичной системы счисления в двоичную, только в качестве делителя используют 8, основание восьмеричной системы счисления:
- Делим десятичное число х на 8. Частное у запоминаем для следующего шага, а остаток z записываем как младший разряд восьмеричного числа.
- Если частное у не равно 0, принимаем его за новое делимое и повторяем процедуру, описанную в первом шаге. Каждый новый остаток записывается в разряды восьмеричного числа в направлении от младшего разряда к старшему.
- Алгоритм продолжается до тех пор, пока в результате выполнения шагов 1 и 2 не получится частное у = 0 и остаток z меньше 8.
Например, требуется перевести десятичное число 450 в восьмеричное. В соответствии с приведенным алгоритмом получим:
45010: 8 = 5610 |
56 x 8 = 448 |
45010 — 44810 = 2, остаток 2 записываем в младший разряд восьмеричного числа. |
5610: 8 = 710 |
5610 — 5610 = 0, остаток 0 записываем в следующий разряд восьмеричного числа. |
710: 8 = 010 |
остаток 0, записываем 7 в самый старший разряд восьмеричного числа. |
Таким образом, искомое восьмеричное число равно 7028. |
ПЕРЕВОД ЧИСЕЛ ИЗ ДЕСЯТИЧНОЙ СИСТЕМЫ В ШЕСТНАДЦАТЕРИЧНУЮ
Для перевода используется алгоритм, аналогичный переводу из десятичной в восьмеричную.Например, требуется перевести десятичное число 450 в шестнадцатеричное. В соответствии с приведенным алгоритмом получим:
45010: 16 = 2810 |
28 х 16 = 448 |
45010 — 44810 = 2, остаток 2 записываем в младший разряд шестнадцатеричного числа. |
2810: 16 = 110 |
2810 — 1610 = 12, остаток 12 в виде C записываем в следующий разряд шестнадцатеричного числа. |
110: 16 = 010, остаток 1 записываем в старший разряд шестнадцатеричного числа. |
Таким образом, искомое шестнадцатеричное число равно 1C216.
Остальные переводы из десятичной системы счисления происходят по аналогии с вышеописанными способами.
Перевод из двоичной системы счисления в десятичную, шестнадцатеричную, и восьмеричную.
Для осуществления такого перевода удобно использовать таблицу триад и тетрад.
Строится она очень просто. Сначала записывается в столбик восемь нолей и 8 единиц. Затем в два раза меньше единиц и нолей с повтором. Затем ещё в два раза меньше. И так до тех пор, пока не получим столбик со значениями 1 0 1 0 1 0...
0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 1 | 1 |
0 | 0 | 1 | 0 | 2 |
0 | 0 | 1 | 1 | 3 |
0 | 1 | 0 | 0 | 4 |
0 | 1 | 0 | 1 | 5 |
0 | 1 | 1 | 0 | 6 |
0 | 1 | 1 | 1 | 7 |
1 | 0 | 0 | 0 | 8 |
1 | 0 | 0 | 1 | 9 |
1 | 0 | 1 | 0 | A |
1 | 0 | 1 | 1 | B |
1 | 1 | 0 | 0 | C |
1 | 1 | 0 | 1 | D |
1 | 1 | 1 | 0 | E |
1 | 1 | 1 | 1 | F |
Таким образом можно получить двоичные значения каждого числа в десятичной, восьмеричной и шестнадцатеричной системе счисления. Например, из таблицы видно, что значение числа 9 в десятичной и шестнадцатеричной системе счисления равно 1001 в двоичной системе счисления.
Статью подготовил учитель информатики МБОУ «Школа №7» города Богородска Лосев Антон Владимирович.