关于十进制 转十六进制算法?

2025-04-03 11:37:38
推荐回答(4个)
回答1:

把十进制数除以16,保留余数部分。得到余数以后就不要再往下除得小数。

代码:

#include "stdio.h" int main() 


int num=0;

int a[100]; 

int i=0; 

int m=0;

int yushu; 

char hex[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};

printf("请输入一个十进制数:");

scanf("%d",&num); while(num>0) { yushu=num%16;

a[i++]=yushu; 

num=num/16;

} printf("转化为十六进制的数为:0x"); for(i=i-1;i>=0;i--)//倒序输出 {m=a[i];

printf("%c",hex[m]); } printf("\n"); 

}

扩展资料:

十进制转十六进制

采余数定理分解,例如将487710转成十六进制:

4877÷16=304....13(D)

304÷16=19....0

19÷16=1....3

1÷16=0....1

这样就计到487710=130D16

参考资料来源:百度百科-十六进制

回答2:

用十进制数整除以16,然后取余数,直到商为0则停止转换。余数可以是0~15中的某一个数,其中0~9不用改变,10~15则分别用A~F表示。最先得到的余数是最低位,最后得到的是最高位。

回答3:

先转二进制
再把二进制转十六进制

回答4:

你好