нужна готовая программа или алгоритм чтобы перевести из десятичной системы счисления в шестнадцатеричную?
программа нужна на си++
программа нужна на си++
#include
#include
main()
{
signed long int b;
int a[70],i,c[70],h,g;
printf("Введите а: ");
scanf("%d", &b);
a[1]=b/16;
a[2]=b;
for(h=2;h<=64;h+=2)
{
a[h+1]=a[h-1]/16;
a[h+2]=a[h-1];
}
printf("Число в шестнадцатиричной система: ");
for(i=64;i>=2;i-=2)
{
switch(a)
{
case 0:printf("0");continue;
case 1:printf("1");continue;
case 2:printf("2");continue;
case 3:printf("3");continue;
case 4:printf("4");continue;
case 5:printf("5");continue;
case 6:printf("6");continue;
case 7:printf("7");continue;
case 8:printf("8");continue;
case 9:printf("9");continue;
case 10:printf("A");continue;
case 11:printf("B");continue;
case 12:printf("C");continue;
case 13:printf("D");continue;
case 14:printf("E");continue;
case 15:printf("F");continue;
}
}
c[0]=b/2;
c[1]=b%2;
for (g=1;g<=63;g+=2)
{
c[g+1]=c[g-1]/2;
c[g+2]=c[g-1]%2;
}
printf("\nЧисло в двоичнои виде: ");
for(g=63;g>=1;g-=2)
{
printf("%d", c[g]);
}
getch();
}
Нет, мне такая программа не нужна!
#include < stdio.h >
#include < stdlib.h >
char *itoa(int val, int base)
{
static char buf[ 32 ] = { 0 };
char *v = {"0123456789abcdef"};
int i = 30;
for(; val && i ; --i, val /= base)
buf[ i ] = v[ val % base ];
return &buf[ i + 1 ];
}
int main (void)
{
printf("hex 0xFEED -> dec %s\n", itoa(0xFEED,10));
printf("hex 0xFOOD -> oct %s\n", itoa(0xF00D,8));
printf("hex 0xDEAD -> bin %s\n", itoa(0xDEAD,2));
printf("dec 512 -> hex %s\n", itoa(512, 16));
printf("dec 127 -> oct %s\n", itoa(127, 8));
printf("dec 255 -> bin %s\n", itoa(255, 2));
printf("oct 0120 -> hex %s\n", itoa(0120, 16));
printf("oct 0777 -> dec %s\n", itoa(0777, 10));
printf("oct 0653 -> bin %s\n", itoa(0653, 2));
system("pause > nul");
return 0;
}