中易网

16进制字符串 转换成数字的问题

答案:2  悬赏:0  
解决时间 2021-02-11 19:46
16进制字符串 转换成数字的问题
最佳答案
如果出现以下情形之一,则抛出 NumberFormatException 类型的异常:

1.第一个参数是 null 或零长度的字符串。
2.radix 小于 Character.MIN_RADIX 或者大于 Character.MAX_RADIX。
3.任何字符串的字符都不是指定基数的数字,除非第一个字符是减号 '-' ('\u002d'),假定字符串的长度大于 1。
4.字符串表示的值不是 long 类型的值。

long的取值范围:-9223372036854775807 ~ 9223372036854775808
小于ffffffffffffffff的值 显然无法转换了
全部回答
http://zhidao.baidu.com/question/122708801.html #include <stdio.h> #include <string.h> int str2hex(const char *ch) { int i=0, tmp, result=0; for(i=0; i<strlen(ch); i++) { if((ch[i]>='0')&&(ch[i]<='9')) tmp = ch[i]-'0'; else if((ch[i]>='a')&&(ch[i]<='f')) tmp = ch[i]-'a'+10; else if((ch[i]>='a')&&(ch[i]<='f')) tmp = ch[i]-'a'+10; else return -1; result = result*16+tmp; } return result; } int main(void) { char ch[] = "499602d2"; char bufdec[10]; char bufhex[10]; int i=0; i = str2hex(ch); sprintf(bufdec, "%d", i); sprintf(bufhex, "%x", i); printf("dec=%s,hex=%s\n", bufdec, bufhex); printf("i=%d=%x", i, i); return 0; }
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
建工大厦我想知道这个在什么地方
惠普黑色硒鼓哪款好
三星4521打印机能发传真不能收传真
现在AMD是否已解决高功耗高发热问题?还是从
跪求心理罪第一季完整版资源,有24集那个,悬
老婆跟别人走了,我怎么办
没意思的时候,急求英文翻译中文,随便什么字
嘉兴国际商务区这个地址在什么地方,我要处理
如何让干性头发变得更柔顺软滑
为什么有些人就不会原谅别人呢?
滨州大饭店在哪里啊,我有事要去这个地方
新人求问,信保和一达通的通俗区别,分别在什
求小波变换课程视频
有谁知道农机约翰迪尔3080价格
怎样才能让厌恶自己的男人删掉自己
推荐资讯
陈家坝天天副食批发在什么地方啊,我要过去处
世界上最深的井在那里。?
简述公共部门薪酬结构体系中的薪酬要素有哪些
我最近投了一个实习,投了简历后在等电话面试
请问铸造厂化验室金相是什么?
如何清除iphone5 home键上的油
我的车是浙江宁波浙B牌照的。我现在苏州工作
nba2k online技能精准射手 四升五级 需要S级
疾患可以怎么造句
神州租车地址在什么地方,想过去办事
蒙思名店在哪里啊,我有事要去这个地方
焘在古代什么意思
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?