十六进制变量使用多少字节?
How many bytes are used by variable in hexadecimal?
我目前正在备考,我遇到了这个问题,出于某种原因,我似乎很难解决这个问题,我希望能在这里得到一些澄清。
我在 yahoo answers 上找到了答案,但没有任何解释,而且我真的不相信这就是答案。它只是说明 0040006Ah - 00400020h = 4A = 74 字节。
问题是这样的:
var1的地址是00400020h。 var1 之后的下一个变量的地址是 0040006Ah。 var1 使用了多少字节?
如果我错了请纠正我,但据我了解,由十六进制值表示的每个 "digit" 包含 4 位。所以如果我对问题的理解是正确的,答案应该少于一个字节。因为4A之差不等于一个字节。差异必须至少为 FFh 才能算作一个字节。如果我错了,请指正或指出正确的方向
每个地址都是一个单独的字节。内存是字节寻址的。即0x0040006A
是一个完整字节的地址。
0040006Ah - 00400020h
是address of 0x4A = 74的差异,也就是相差74字节。
asm 映射 1:1 中的地址,C 中的地址 char *
,在普通机器上。 (C 标准不保证这一点,这只是正常 C 实现的事实)。
我目前正在备考,我遇到了这个问题,出于某种原因,我似乎很难解决这个问题,我希望能在这里得到一些澄清。
我在 yahoo answers 上找到了答案,但没有任何解释,而且我真的不相信这就是答案。它只是说明 0040006Ah - 00400020h = 4A = 74 字节。
问题是这样的: var1的地址是00400020h。 var1 之后的下一个变量的地址是 0040006Ah。 var1 使用了多少字节?
如果我错了请纠正我,但据我了解,由十六进制值表示的每个 "digit" 包含 4 位。所以如果我对问题的理解是正确的,答案应该少于一个字节。因为4A之差不等于一个字节。差异必须至少为 FFh 才能算作一个字节。如果我错了,请指正或指出正确的方向
每个地址都是一个单独的字节。内存是字节寻址的。即0x0040006A
是一个完整字节的地址。
0040006Ah - 00400020h
是address of 0x4A = 74的差异,也就是相差74字节。
asm 映射 1:1 中的地址,C 中的地址 char *
,在普通机器上。 (C 标准不保证这一点,这只是正常 C 实现的事实)。