|
Алгоритмы перевода в десятичную систему счисления |
|
Алгоритмы перевода в десятичную систему счисления
Алгоритм 1
Чтобы перевести число из позиционной системы счисления с основанием p в десятичную, надо разложить его по базису р-ичной системы счисления и произвести вычисления.
Например, переведем число 10112 в десятичную систему счисления. Для этого представим число в развернутой форме (разложим по базису двоичной системы счисления) и произведем вычисления в десятичной системе.
10112 = 1*23 + 0*22 + 1*21 + 1*20 = 1*8 + 0*4 + 1*2 + 1*1 = 8 + 0 + 2 + 1 = 1110
Рассмотрим еще один пример. Переведем число 52,748 в десятичную систему счисления.
52,748 = 5*81 + 2*80 + 3*8-1 + 4*8-2 = 5*8 + 2*1 + 7*1/8 +4*1/49 = 40 + 2 + 0,875 + 0,0625 = 42,937510
Алгоритм 2 Перевод чисел в десятичную систему счисления по схеме Горнера
Предлагаемый метод удобен, если необходимо составить компьютерную программу перевода. Общую формулу целого числа
Aq=an-1qn-1+an-2qn-2+...+a0q0+a-1q-1+a-2q-2+...+am-1qm-1+amqm
можно упростить за счёт избавления от степеней.
Преобразованный вид формулы Aq=((an-1q+an-2)q+...+a1)q+a0 удобен для разработки программы по переводу чисел в десятичную систему счисления и носит название схемы Горнера.
Алгоритмы перевода целой и дробной частей числа отличаются друг от друга!
Алгоритм 3 Перевод целых чисел по схеме Горнера
1. Цифру старшего разряда числа Aq умножить на основание q . К полученному произведению прибавить цифру следующего разряда числа .
2. Полученную сумму вновь следует умножить на q и вновь прибавить цифру следующего (более младшего) разряда числа.
3. Так поступать, пока не прибавится младшая цифра числа.
Пример. Перевести в десятичную систему счисления числа 2078 ; 101102 .
Решение
2078= (2*8+0 )*8+7 =135;
101102 = (((1*2+0)*2+1)*2+1)*2+0 = 22.
Алгоритм 4 Перевод правильных дробей по схеме Горнера
1. Цифру младшего разряда дроби 0,Aq разделить на основание q. К полученному частному прибавить цифру следующего (более старшего) разряда числа 0,Aq
2. Полученную сумму вновь следует разделить на q и вновь прибавить цифру следующего разряда числа.
3. Так поступать пока не прибавится цифра старшего разряда дроби.
4. Полученную сумму ещё раз разделить на q и к результату слева приписать запятую и нуль целых.
Пример. Перевести в десятичную систему счисления дроби: а) 0,11012 ; б) 0,3568 .
Решение
а) 1/ 2+0 = 0,5;
0,5 / 2+1=1, 25;
1, 25 / 2 +1 =1, 625;
1,625 / 2 = 0,8125.
Результат
0,11012 = 0,8125 |
б) 6 /8+5 = 5,75;
5,75/ 8 + 3 = 3,71875;
3,71875 / 8 = 0,46484375 .
Результат
0,3568 = 0,46484375 . |
Коротко о главном:
-
Один из способов перевода числа из любой позиционной системы счисления в десятичную систему — разложить число по базису (записать число в развёрнутой форме) и выполнить вычисление выражения.
-
При использовании вычислительных средств, например, калькулятора, для упрощения алгоритма перевода в программе развёрнутая форма записи числа преобразуется в схему Горнера. Алгоритмы перевода целой и дробной частей числа отличаются.
|
|
| |