Алгоритмы перевода целых чисел из одной системы счисления в другую
В общем случае любое число N в позиционной системе счисления можно представить в виде: N = a k *p k +a k-1 *p k-1 +…+a 1 *p 1 +a 0 *p 0 +a -1 *p -1 +…+a -n *p -n, где a k - k-я цифра целой части числа N, записанного в системе счисления с основанием p. a -n - n –я цифра дробной части числа N, записанного с основанием p. k+1 – количество разрядов в целой части числа N. n – Количество разрядов в дробной части числа N.
X =, где A - n –я цифра дробной части числа Y, B – k-я степень основания исходной системы счисления. Начало Ввести Y YY := Y X := 0 B := 1 A:= Y mod 10 X := X + A*B B := B * 2 Y := Y div 10 Y>=1 Вывести X Конец Перевод в десятичную систему счисления Да Нет
Перевод целого числа из десятичной системы счисления X =, где С - n –й остаток от деления на основание новой системы счисления, К – n-я степень десяти Начало Ввест и X XX := X Y := 0 K := 1 ost:= X mod 2 Y := Y + K K := K * 10 X := X div 2 X>0 Вывест и Y Конец ost = 1 Да Да X – десятичное число Y – переведенное число Нет