如何用c语言实现10进制转换成16进制

如题所述

#include <stdio.h>

#define LEN 100

char *decimal2Others (int value, char *string, int radix) { /*十进制数转任意进制*/
/*除基数取余法:十进制数不断除以进制基数直至为零,每次相除取得余数之逆序即为转换结果*/
int remain,i=1,j=0;
    int temp[LEN];

    while (value) { /*除基数取余*/
        remain = value % radix;
        value = value / radix;
        temp[i++] = remain;
    }

    while (--i) { /*逆序存储*/
     if (temp[i] > 9)
     string[j++] = temp[i] - 10 + 'a'; /*十以上进制处理*/
    else
    string[j++] = temp[i] + '0';
}
string[j] = '\0';
return string;
}

int main(void) {  
int n;
char string[LEN]; 

    printf ("请输入十进制数:");
    scanf ("%d",&n);
    putchar ('\n');
    puts ("================================================================================\n");
    
    printf ("十六进制转换结果:"); 
    decimal2Others (n,string,16);
    puts (string);
    putchar ('\n');

getch (); /*屏幕暂留*/
return 0;
}

运行结果

温馨提示:内容为网友见解,仅供参考
第1个回答  2020-12-03

C语言_012_十六进制转十进制

如何用c语言实现10进制转换成16进制
int radix) { \/*十进制数转任意进制*\/\/*除基数取余法:十进制数不断除以进制基数直至为零,每次相除取得余数之逆序即为转换结果*\/int remain,i=1,j=0; int temp[LEN]; while (value) { \/*除基数取余*\/ remain = value % radix; value =...

C语言编程:怎么把一个十进制数转换成为一个十六进制数
1. 选择一个底数,即十六进制。在十六进制中,底数为16。2. 将十进制数除以16,记录余数。3. 如果余数小于10,则直接作为十六进制数的一部分;如果余数为10到15之间的某个值,则将其转换为相应的十六进制字母(A到F)。4. 将商再次除以16,继续执行步骤2和3,直到商为0。5. 将所有记录的余数...

c语言 十进制转换为十六进制?
在C语言中,可以使用`printf()`函数的格式控制符将十进制数转换为十六进制。具体来说,可以使用 `%x` 格式控制符。例如:```c int decimal_number = 255;printf("%x", decimal_number);```上述代码将十进制数255转换为十六进制形式,并输出结果ff。需要注意的是,在使用 `%x` 格式控制符时,输...

c语言编程 把十进制转换为十六进制
方法一:#include<iostream>#include <string>using namespace std;string DecIntToHexStr(long long num){string str;long long Temp = num \/ 16;int left = num % 16;if (Temp > 0)str += DecIntToHexStr(Temp);if (left < 10)str += (left + '0');elsestr += ('A' + left -...

C语言编程:怎么把一个十进制数转换成为一个十六进制数?
第一种:用来糊弄老师的,输入一个数采用16进制格式输出 include <stdio.h> int main(){ int num = 0;scanf("%d", &num);printf("%x", num);return 0;} 第二种:include <stdio.h> include <string.h> char oNumTable[6] = {'A', 'B', 'C', 'D', 'E', 'F'};void d...

c语言怎么把10进制转换为16进制
1,将10进制数除以16,余数是16进制数的第一位,再用商除以16,余数是第二位,这么循环下去,直到商小于16。如,100\/16=6---4,6小于16;所以十进制100对应的16进制是64;2,c语言中将整型数以十或者16进制的格式输出 具体请看以下代码 include<stdio.h> int main(void){ int a=0x67,b=...

在C语言中如何将10进制转换成16进制?
根据10进制转换为16进制的规则,编写C语言程序将10进制数转换为16进制数。具体实现方法可参考如下程序:include<stdio.h>void main(){ int i, x; \/\/ x表示欲转换的10进制数 int data[10], index=0; \/\/ data数组存放转换后的16进制数,index表示下标 scanf("%d", &x); \/\/ 接...

c语言把10进制变成16进制
include <stdio.h> int main (){ long int x;printf("Enter a num:\\n");scanf("%d",&x);printf("%d in Hex format is 0x%08X\\n",x);printf("Enter a num:\\n");scanf("%d",&x);printf("%d in Hex format is 0x%08X\\n",x);return 0;} ...

C语言怎样把十进制改成十六进制?
你好:include<stdio.h> include<stdlib.h> int main(){ int line=0;for(int i=32;i<127;i++){ line++;printf("%x\\t",i);\/\/在格式化串 %x 表示把整数按十六进制输出 if(!(line%4))\/\/每输出四个后换行 puts("");} system("pause");\/\/暂停以查看输出窗口。} 希望对你有帮助^_...

C语言十进制转十六进制数
C语言十进制转十六进制数的源代码如下:include<bits\/stdc++.h> using namespace std;void IntZh0x(int n){int s=n%16;if(n\/16!=0) IntZh0x(n\/16);if(s>9){ if(s==15) cout<<"F";else if(s==14) cout<<"E";else if(s==13) cout<<"D";else if(s==12) cout<<"C"...

相似回答