十六进制数0x001e0000为何0x后面用8位来表示?0x40这样的表示方式可以看成0x00000040是吗?

amy3701229 2004-08-12 10:44:17
有人告诉我后面8位是因为8x4=32,32是啥意思?
我感觉内存等都是用这样的十六进制数来表示的,为什么啊?
...全文
2326 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
flyerlxg 2004-08-12
  • 打赏
  • 举报
回复
其实这些都是为了方便阅读而已,因为目前主流操作系统都是32位的,所以那样书写,如果主流换成64位的操作系统,我想到时就没有多少人那样书写了。
建议楼主了解一下二进制与十六进制的转换问题。
Asan13 2004-08-12
  • 打赏
  • 举报
回复 1
八位二进制就可化成两位十六进制。如1111 1111化成ff。而现在的计算机大多是三十二位。就是能处理三十二位的二进制,为了阅读的方便就把二进制化成十六进制。即成了八位十六进制。
whyglinux 2004-08-12
  • 打赏
  • 举报
回复 4
>> 十六进制数0x001e0000为何0x后面用8位来表示?0x40这样的表示方式可以看成0x00000040是吗?

可以。0x到非零数字前面的 0 可以被省略。

>> 有人告诉我后面8位是因为8x4=32,32是啥意思?

1 位十六进制数字代表 4 位二进制数字,所以 8 位十六进制数字表示 8x4=32 位二进制数字。

在32位机中,整数就是用32位二进制数字(32/8=4字节)来表示的。

>> 我感觉内存等都是用这样的十六进制数来表示的,为什么啊?
计算机中的数据都是二进制表示。与二进制相比,十六进制表示、书写方便。与十进制相比,十六进制与二进制的对应关系明显(1位十六进制数对应4位二进制数)。基于上述原因,通常内存中的内容写成十六进制的情况为多。
junguo 2004-08-12
  • 打赏
  • 举报
回复
内存中的值是用0,1来表示的!
16进制也是为了方便人的理解来用的。
32位是说的是二进制数的位数。4位是说四个二进制数正好是16进制数的一位。
darkstar21cn 2004-08-12
  • 打赏
  • 举报
回复
因为现在基本上都是32位机。0x40和0x00000040是一样的

70,012

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧