16进制转10进制

2020-01-16 18:34发布

                    我举个例子,我从P0口得到数据temp=0x11;然后把temp变成10进制,目的是为了输出显示,但是在keil软件里面怎么转换呢?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
21条回答
北小斗
2020-01-18 19:47
你的问题在于此,0x11赋给了temp,但不代表temp就是十六进制格式的,因为变量在MCU里都是以二进制存储的。由此你在编译器里写"temp = 0x11;"跟“temp = 17”效果是一样的,因为他们都是0b00010001,做运算的时候根本不需要做进制转换,注意是做运算的时候。所以你可以直接用大胡子叔叔的公式,没有任何问题。
如果你是传输数据那就不一样了,假设你要通过串口传输一个十进制(BCD格式)的数,那么你就需要将0x11(0001,0001)转成0x17(0001,0111)之后再发送出去才正确。Understand?

一周热门 更多>