16进制10进制互换程序

unsigned char d[10]; //用于显示的10位显示缓存

//========================================================
//16进制to10进制输出子程序:显示数据,起始位,结束位,有无小数点
//========================================================
void output(unsigned long dd,unsigned char s,unsigned char e,unsigned char dip) {
unsigned long div;
unsigned char tm[8],i,j;
div=10000000;
for (i=0;i<8;i++) {
  tm=dd/div;
  dd%=div;
  div/=10;
}
for (i=0;i<6;i++) {
  if (tm!=0) break;
  tm=nul;
}
tm[5]|=dip;   //小数点控制,请看“串行LED数码管显示驱动程序”
j=7;
for (i=s;i<e;i++) {
  d=tm[j];
  j--;
}
}

//把显示位5-9位的10进制数转换成为16进制数
unsigned int input(void) {
unsigned int dd,dat;
dd=10000;dat=0;
for (i=5;i<10;i++) {
  dat+=dd*temp;
  dd/=10;
}
return(dat);
}

要在C程序中将16进制换为10进制,可以使用以下代码作为参考: ```c #include <stdio.h> int hexToDec(char *hex) { int dec = 0; int i = 0; while(hex\[i\] != '\0') { int digit; if(hex\[i\] >= '0' && hex\[i\] <= '9') { digit = hex\[i\] - '0'; } else if(hex\[i\] >= 'a' && hex\[i\] <= 'f') { digit = hex\[i\] - 'a' + 10; } else if(hex\[i\] >= 'A' && hex\[i\] <= 'F') { digit = hex\[i\] - 'A' + 10; } else { // 非法的16进制字符 return -1; } dec = dec * 16 + digit; i++; } return dec; } int main() { char hex\[50\]; printf("请输入16进制数:"); scanf("%s", hex); int dec = hexToDec(hex); if(dec == -1) { printf("输入的16进制数不合法"); } else { printf("换为10进制:%d", dec); } return 0; } ``` 这段代码定义了一个`hexToDec`函数,它接受一个字符串参数,表示要换的16进制数。函数内部使用循环遍历字符串的每个字符,并根据字符的值计算出对应的10进制数。最后,将换后的10进制数打印出来。 请注意,这段代码假设输入的16进制数是合法的,如果输入的16进制数包含非法字符,将返回-1。你可以根据需要进行错误处理。 #### 引用[.reference_title] - *1* *2* [C语言:十进制十六进制数据互换](https://blog.csdn.net/m0_38106923/article/details/120000137)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [(C语言)16进制10进制](https://blog.csdn.net/meridian002/article/details/87521538)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值