定义了一个uint16_t类型的数据,如何转化为10进制,希望代码不要太长,谢谢指导
5条回答 默认 最新
- cashT 2017-09-15 08:07关注
int hex_char_value(char c) { if(c >= '0' && c <= '9') return c - '0'; else if(c >= 'a' && c <= 'f') return (c - 'a' + 10); else if(c >= 'A' && c <= 'F') return (c - 'A' + 10); assert(0); return 0; } int hex_to_decimal(const char* szHex, int len) { int result = 0; for(int i = 0; i < len; i++) { result += (int)pow((float)16, (int)len-i-1) * hex_char_value(szHex[i]); } return result; }
解决 1无用
悬赏问题
- ¥15 求差集那个函数有问题,有无佬可以解决
- ¥15 【提问】基于Invest的水源涵养
- ¥20 微信网友居然可以通过vx号找到我绑的手机号
- ¥15 寻一个支付宝扫码远程授权登录的软件助手app
- ¥15 解riccati方程组
- ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
- ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
- ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
- ¥50 树莓派安卓APK系统签名
- ¥65 汇编语言除法溢出问题