c语言进制转换算法代码(用C语言写一段不同进制数值转换的程序)

本文目录
用C语言写一段不同进制数值转换的程序
#include 《stdio.h》
int hexToDex(int hex){
int data;
int i=0,j=0;
int dec = 0;
do{
data = hex%16;
hex/=16;
}while(hex 》0);
for(j=i-1;j》=0;j--){
if(data 《= 9 ){
dec = dec * 10 + data;
}else{
dec = -1;
break;
}
}
return dec;
}
int main(int argc, char *argv)
{
int hex , dec;
while(scanf("%x", &hex) !=EOF){
dec = hexToDex(hex);
if(dec != -1){
printf("0x%x ==》 %d\n", hex, dec);
}else{
printf("0x%x ==》 error, contain a~f\n", hex);
}
}
return 0;
}
/*
sample input/output:
0x1
0x1 ==》 1
0x23
0x23 ==》 23
0x456
0x456 ==》 456
0x2345
0x2345 ==》 2345
0x12345
0x12345 ==》 12345
0x123456
0x123456 ==》 123456
0x1234567
0x1234567 ==》 1234567
0x12345678
0x12345678 ==》 12345678
0x12f
0x12f ==》 error, contain a~f
*/
C语言 十进制数转化为二进制数
思路:十进制整数转换为二进制整数采用"除2取余,逆序排列"法。即用2整除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为0时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来。
参考代码:
#include "stdio.h"
void fun(int n){
if(n==0) return;
fun(n/2);
printf("%d",n%2);
}
int main() {
int n;
scanf("%d",&n);
fun(n);
return 0;
}
/*
运行结果:例如求10的2进制
10
1010
*/

更多文章:
unlikely(not likely和unlikely含义一样吗)
2025年10月23日 20:45
kindeditor 在dialog中居中(在Iframe中使用jquery ui dialog 怎么使弹出窗口居于浏览器中间)
2025年7月27日 23:15
ASP.NET MVC 4框架揭秘:Controller类型的缓存?RxCache缓存框架
2026年6月1日 06:00
java编程工具免费(请问java编写程序除了用eclipse,还可以用什么我主要是想做web前端的,有没有什么视图化的软件啊)
2025年8月4日 12:30
memcached性能(PHP中4个加速,缓存扩展的区别和选用建议)
2025年9月8日 08:45
2 3表示什么python(python语句:print(*[1,2,3]),是什么意思)
2026年8月14日 22:30
java下载了打不开(为什么下载了java也玩不了我的世界)
2026年5月17日 05:15
timeformat函数(GetTimeFormat怎么用,各个参数尤其是最后一个有点看不懂)
2025年11月13日 04:30
sqlite3规则(sqlite3数据库 运行一段时间后 命令行操作出现:Error:unsupported file format)
2025年10月25日 22:45
extensional mentality的意思(mentality是什么意思)
2026年1月6日 13:00











