当前位置:首页 » 编程语言 » 16进制转换成c语言

16进制转换成c语言

发布时间: 2023-01-15 05:17:53

① 十六进制转十进制,C语言

#include<stdio.h>
#include <stdlib.h> //system 包含
#include<math.h>
double transition(char*); //声明还是提到函数外
int main(){
char str[10];
double a;

printf("Enter the hexadecimal number: ");
gets(str);
a=transition(str);
printf("%.0lf\n",a); //输出double要用%lf
system("pause");

return 0; //main返回
}
double transition(char str[]){
int i=0,n,x;
double sum=0;
int trans_char_dig(char);
while(str[i]!=0){
i++;
}
n=i;
while(i>0){
x=trans_char_dig(str[n-i]);
sum=x*pow(16,i-1)+sum;
i--;
}
return sum;
}
int trans_char_dig(char c){
if(c>=48&&c<=57){
return c-48;
}
else if(c>=65&&c<=70){
return c-55;
}
else if(c>=97&&c<=102){
return c-87;
}
else{
printf("error!");
exit(0);
}
}

② C语言中16进制的表示方法

16进制以0x开头,后面跟数字0~9或字母A~F(小写也可以),如:0x2D(16进制数2D)

③ 十六进制数转换成十进制数C语言

程序代码:#include <stdio.h>
#include <stdlib.h>
#include <math.h>/*求字符串长度函数*/
int strlengh(char *s)
{
int i;
for(i=0;s[i]!='\0';i++);
return i;
}/*16进制转10进制函数*/
double tran(char *s)
{
int len=strlengh(s);/*求输入的字符串的长度*/
int ss[100] ;/*用于存放对字符的转换如f:15*/
int i;
double n=0.0;
/*对字符进行处理,将其每一位转换为整数,之后运算进行处理*/
for(i=0;i<len;i++)
{
if(s[i]=='F'||s[i]=='f')ss[i]=15;
else if(s[i]=='E'||s[i]=='e')ss[i]=14;
else if(s[i]=='D'||s[i]=='d')ss[i]=13;
else if(s[i]=='C'||s[i]=='c')ss[i]=12;
else if(s[i]=='B'||s[i]=='b')ss[i]=11;
else if(s[i]=='A'||s[i]=='a')ss[i]=10;
else ss[i]=(int)s[i];
}
/*对转换得到的整数进行转换处理*/
for(i=0;i<len;i++)
{
n+=ss[i]*pow(16,len-1-i);
}
return n;/*结果返回*/
}void main()
{
/*接收16进制数*/
char Hex[100];
printf("Please input Hex:\n");
gets(Hex);
/*转换*/
int Dec=(int)tran(Hex);
printf("Output Result:%d\n",Dec);}执行结果:

热点内容
编程题抽奖 发布:2025-07-15 10:34:00 浏览:627
linux手动编译的内核怎么删 发布:2025-07-15 10:31:56 浏览:94
存储行业发展趋势 发布:2025-07-15 10:25:22 浏览:242
怎么删除配置提示 发布:2025-07-15 10:21:27 浏览:245
java深入学习 发布:2025-07-15 10:13:50 浏览:534
linux应用程序开发pdf 发布:2025-07-15 10:11:37 浏览:911
解压冷知识 发布:2025-07-15 10:11:35 浏览:78
outlook邮件的服务器是什么 发布:2025-07-15 09:45:59 浏览:482
如何安排资产配置 发布:2025-07-15 09:33:24 浏览:906
更新传送服务器目的地址失败 发布:2025-07-15 09:27:05 浏览:484