野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 26767|回复: 7

4字节的偏移量为啥就是0x04

[复制链接]
发表于 2014-4-10 11:26:14 | 显示全部楼层 |阅读模式
本帖最后由 xts 于 2014-4-10 12:20 编辑

资料中,提到结构体中连续地址存放寄存器的地址,其中偏移量是32位,4字节
但我不清楚,为啥是对应的数字是0x04。一个十六进制对应四位,四个也就是16位,为啥是32位呢?


最终明白了,0x04是地址偏移位,地址偏移0x01可以放置一字节的数据。地址和数据是不通的。
这个解释不知道对不对?
回复

使用道具 举报

发表于 2014-4-10 11:29:59 | 显示全部楼层
资料的意思是指:一个寄存器32位,也就是占据4个字节(每个字节有8位),所以每一个寄存器要占据4个字节,因而每个寄存器相对前一个寄存器的地址偏移是0x04
回复 支持 反对

使用道具 举报

发表于 2014-4-10 11:31:20 | 显示全部楼层
感觉楼主理解有错了,0x04不是一个16进制位,它就是一个数字,4,表示偏移4个字节
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-4-10 11:48:06 | 显示全部楼层
仰平心 发表于 2014-4-10 11:31
感觉楼主理解有错了,0x04不是一个16进制位,它就是一个数字,4,表示偏移4个字节

这个说法不是很认同,为啥还要写成16进制0x的开头呢
回复 支持 反对

使用道具 举报

发表于 2014-4-10 12:10:10 | 显示全部楼层
xts 发表于 2014-4-10 11:48
这个说法不是很认同,为啥还要写成16进制0x的开头呢

这是习惯。。。。地址一般都以16进制表示,很少会以10进制表示
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-4-10 12:21:34 | 显示全部楼层
flyleaf 发表于 2014-4-10 12:10
这是习惯。。。。地址一般都以16进制表示,很少会以10进制表示

地址每增加1可以放置1个字节,不知道这个解释对不对
回复 支持 反对

使用道具 举报

发表于 2014-4-10 12:23:13 | 显示全部楼层
xts 发表于 2014-4-10 12:21
地址每增加1可以放置1个字节,不知道这个解释对不对

对的,就是这个意思,所以要存放一个32位的寄存器,每次要偏移4个字节
回复 支持 反对

使用道具 举报

发表于 2014-4-10 14:54:01 | 显示全部楼层
1个字节是8位,32位是4个字节,所以是偏移4
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-1 17:32 , Processed in 0.036654 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表