до 16-ой)
// перевод из десятичной системы счисления в
любую другую позиционную систему#include
#include
#define Size 15
void main()
{ int na, a, i, j, k=0, osn; int mas[Size]; char num[Size]={'\x0'};
printf("\nВведите десятичное число: "); scanf("%i", &na); a=na;
printf("\nВведите основание системы счисления: "); scanf("%i", &osn);
i=0;
while (a!=0)
{ mas[i]=a%osn; i++; a=(int)a/osn; }
for (j=i-1; j>=0; j--, k++)
if (mas[j]<10)
num[k]=(char)(mas[j]+48);
else
switch (mas[j]) {
case 10: {num[k]='A'; break;}
case 11: {num[k]='B'; break;}
case 12: {num[k]='C'; break;}
case 13: {num[k]='D'; break;}
case 14: {num[k]='E'; break;}
case 15: {num[k]='F'; break;}
}
printf("\nДесятичное число %d равно %d-ичному числу %s\n", na, osn, num);
}
И+ПРГ
С/С++
Выбор цифр систем счисления старше 10-тичной
в операторе множественного выбора switch
Алгохитрости - Системы счисления