十六进制的0x0C是多少,为是么C前面还要加一个0

具体出处是stm32单片机的一个寄存器的偏移地址:0x0C好几种说法哦??????????????... 具体出处是stm32单片机的一个寄存器的偏移地址: 0x0C
好几种说法哦??????????????
展开
 我来答
优益C2008
推荐于2017-10-12 · TA获得超过1.6万个赞
知道小有建树答主
回答量:1033
采纳率:89%
帮助的人:56.5万
展开全部
  0x0C应该是一个寄存器的偏移地址。0x表示十六进制,所以0x0C即表示十六进制C相当于十进的12。
  C前加一个0 是为了代码整齐好看、易于阅读, 比如:
  #define a 0xFC10
  #define b 0x000C
  0xf跟 0x0000f 在实际作用上是完全一样的。
  有一种说法认为C前面加0可能是因为寄存器占8位,所以需要两个16进制数填满:0C的二进制是00001100,八位填满了寄存器,可以参考。
MeepoMiracle
2014-12-07 · TA获得超过161个赞
知道小有建树答主
回答量:246
采纳率:0%
帮助的人:140万
展开全部
十进制为12,即C的十进制值。
前面加0可能是因为寄存器占8位,所以需要两个16进制数填满
0C的二进制是00001100,八位填满了寄存器
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小帆向前冲
2014-12-07 · TA获得超过188个赞
知道小有建树答主
回答量:189
采纳率:0%
帮助的人:154万
展开全部
0C即0CH,就是十进制的12,规定0x表示16进制
追问
不是很理解,为什么又多了个H出来,12不是就用C表示吗就是0xC啊,那么C前的0和后面的H是什么意思。谢谢你
追答
我说H是广义的一个说法,就是十六进制的表示,可以不用管,至于C前面的0,是因为用字母表示的时候要在字母前面加0,这是一个规定
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
furious_tauren
2014-12-07 · TA获得超过4056个赞
知道大有可为答主
回答量:1913
采纳率:100%
帮助的人:772万
展开全部
加0 是为了代码好看, 比如
#define a 0xFC10
#define b 0x000C

这样就对齐了
追问
那如果是位操作的话,被操作的位数会增加吗?
追答
当然不会, 0xf  跟 0x0000f 在实际作用上是完全一样的
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式