如何把十六进制数按十进制计算呢?

2020-01-25 15:33发布

比如我计算0x3456-0x78,正常的计算结果应该是0x33de,但是现在我想得到的结果是0x3378,就是把十六进制的0x3456和0x78都当成十进制的3456和78计算了,但是最后的结果3378还要在是十六进制的。
按我的理解就是把一个十六进制数转换成看着和他一样的十进制(但是肯定是不想当的),然后再把10进制数转换成看着和他一样的十六进制(也是不相等的),大神们帮帮忙吧,没思路啊
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
17条回答
liujian6f
1楼-- · 2020-01-25 21:09
直接减就可以啦! 定义一个unsigned int  a=0x3456-0x78 就好了  
binaimei2007
2楼-- · 2020-01-26 01:53
 精彩回答 2  元偷偷看……
YUZH282
3楼-- · 2020-01-26 03:57
你写C十进制和十六进制不用去考虑呀,用来显示才要去转换嘛
六盲星
4楼-- · 2020-01-26 04:07
直接减肯定不行的啊,0x3456-0x78=0x33de,但是我要得到的是0x3378
albert_w
5楼-- · 2020-01-26 05:18
来源数据莫非是BCD码?把他们各自先直接弄成int算了
六盲星
6楼-- · 2020-01-26 10:37
可能我表达不清楚,多举几个例子
0x12-0x5=0x0d,但是需要得到0x07;
0x123-0x43=0xe0,但是需要得到0x80;
0x1234-0x345=0xeef,但是需要得到0x889;

一周热门 更多>