永发信息网

写一个函数,输入一个十六进制数,输出相应的十进制数。

答案:2  悬赏:20  手机版
解决时间 2021-07-16 09:49
写一个函数,输入一个十六进制数,输出相应的十进制数。
最佳答案
#include<stdio.h>

void main(){
int i=0;
int value=0;
char ch[10];
printf("请输入一个16进制数:");
gets(ch);
while (ch[i])
{
if(ch[i]>='A'&&ch[i]<='F')
value=(ch[i]-55)+16*value;
else if(ch[i]>='a'&&ch[i]<='f')
value=(ch[i]-87)+16*value;
else if(ch[i]>='0'&&ch[i]<='9')
value=(ch[i]-48)+16*value;
else
{
printf("输入有误\n");
break;
}
i++;
}
printf("十进制数为%d\n",value);
}
全部回答

vb的方法,使用方法:call hex_to_dec("十六进制数据")

Public Function HEX_to_DEC(ByVal Hex As String) As Long Dim i As Long Dim B As Long Hex = UCase(Hex) For i = 1 To Len(Hex) Select Case Mid(Hex, Len(Hex) - i + 1, 1) Case "0": B = B + 16 ^ (i - 1) * 0 Case "1": B = B + 16 ^ (i - 1) * 1 Case "2": B = B + 16 ^ (i - 1) * 2 Case "3": B = B + 16 ^ (i - 1) * 3 Case "4": B = B + 16 ^ (i - 1) * 4 Case "5": B = B + 16 ^ (i - 1) * 5 Case "6": B = B + 16 ^ (i - 1) * 6 Case "7": B = B + 16 ^ (i - 1) * 7 Case "8": B = B + 16 ^ (i - 1) * 8 Case "9": B = B + 16 ^ (i - 1) * 9 Case "A": B = B + 16 ^ (i - 1) * 10 Case "B": B = B + 16 ^ (i - 1) * 11 Case "C": B = B + 16 ^ (i - 1) * 12 Case "D": B = B + 16 ^ (i - 1) * 13 Case "E": B = B + 16 ^ (i - 1) * 14 Case "F": B = B + 16 ^ (i - 1) * 15 End Select Next i HEX_to_DEC = B End Function

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
家用电脑什么品牌即便宜还实用,本人用来玩网
我女朋友的最好的朋友(女生)要我请她吃饭,
网站的数据备份占用虚拟主机的空间吗.?
天龙八部八十明教带什么宝宝,穿什么套装?打
请问有没有人在网上买过资生堂或者一种包装是
170军舰上的导弹垂直发射系统是?
shi is a policewoman(改成复数形式)
月球上哪裡有水的存在?》
35魔道穿什么皮夹套装
错爱和爱错是一回事吗!有何分别!
怎麽经营哥们关系啊?
色字盘升不起来是怎么回事???
这就歌词是哪首歌的?
点加丝路英雄点啊
谁能给我一个可以下载的office2003
推荐资讯
求CS龙珠最新的esf1.3下载地址
DNF我照你说的做了20几个加6的垫子但是只有两
大家帮忙推荐几款价格1200左右、性价比比较高
爱上一个人该怎么给他说?
如果男生说三个月是考验,那说明什么?
湖北地区何时才想重庆一样打黑啊?
为什么有些人的照片上头部有彩色光环?
麦漏电怎么解决
IBM水货DE3产自哪个国家?
做什么课题报告,最新颖,最有创意
求地下城召唤PK视频歌曲
一道相似三角形题目
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?