| 网站首页 | 业界新闻 | 小组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 683 人关注过本帖
标题:收到3位十六进制数据,请问怎么转化为十进制数。
只看楼主 加入收藏
dianbao
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2019-6-12
结帖率:0
  已结贴   问题点数:20  回复次数:5   
收到3位十六进制数据,请问怎么转化为十进制数。
收到3位十六进制数据格式为二进制补码形式,例如 0xA58452。要转换为十进制数。
请问有什么办法能够处理吗?
搜索更多相关主题的帖子: 位数 十六进制 转化 十进制 办法 
2019-06-12 11:18
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:334
帖 子:6941
专家分:40325
注 册:2011-1-18
  得分:10 
你这个 0xA58452 是什么类型,int、字符串 ?
你想将它转化为什么类型,int类型的10847314,还是字符串类型的"10847314" ?
2019-06-12 12:03
dianbao
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2019-6-12
  得分:0 
回复 2楼 rjsp
我像转换为int型,请问需要怎么样的一个操作呢?;)
2019-06-13 09:01
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:334
帖 子:6941
专家分:40325
注 册:2011-1-18
  得分:0 
以下是引用dianbao在2019-6-13 09:01:19的发言:

我像转换为int型,请问需要怎么样的一个操作呢?;)

“数”本身是没有所谓的“进制”概念的,只有数的“表达”才有。

比如 unsigned a = 0x0C;
a的值 就是十六进制 0x0C 表示的那个数,就是十进制 12 表示的那个数,就是八进制 014 表示的那个数,就是中文 十二 表示的那个数,就是洋文 twelve 表示的那个数,……
不能说 a 是十六进制格式的,或 a 是十进制格式的,或 a 是中文的,或 a 是洋文的,……。

所以 int(0xA58452) 转化为 十进制 在逻辑上就不通,因为“数”本身不存在“进制”概念。

仅当“数的表达”才可能有“进制”概念
比如要求 将 int(0xA58452) 以十进制格式表达出来,那么就是 printf("%d",0xA58452);

2019-06-13 09:29
dianbao
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2019-6-12
  得分:0 
回复 4楼 rjsp
感谢版主的耐心解答,我自己这几天也去了解了一些相关资料,包括有关数据在计算机中的存储形式、位运算等,问题已经得到解决了,感谢!
2019-06-14 16:27
燕小六
Rank: 4
来 自:北京
等 级:业余侠客
威 望:3
帖 子:49
专家分:247
注 册:2017-11-29
  得分:10 
可以用stdlib的函数,itoa atoi
2019-06-17 16:26
快速回复:收到3位十六进制数据,请问怎么转化为十进制数。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.239313 second(s), 8 queries.
Copyright©2004-2019, BCCN.NET, All Rights Reserved