如何确定地址是否是字对齐的

问题描述:

你可以通过查看它们告诉他们哪些地址是字对齐如何确定地址是否是字对齐的

0x000AE430
0X00014432
0X000B0737
0X0E0D8844

+3

这是功课吗?你机器的字数是多少?我可以。 – JoshD 2010-10-13 10:16:15

+0

可以被机器字大小整除吗? – 2010-10-13 10:16:27

+1

对于N的字大小,地址需要是N的倍数。*提示*:对于N的大多数常见值,您只需查看地址的最后一位。 – 2010-10-13 10:19:13

简短的回答是肯定的。但是你必须定义每个字的字节数。一些体系结构称两个字节为一个字,四个字节为双字。无论如何,你只是在心里计算addr%word_sizeaddr&(word_size - 1),看看它是否为零。当地址是十六进制的时候,它是微不足道的:只要看最右边的数字,看它是否可以被字大小整除。

对于4字节的字大小,示例的第二个和第三个地址未对齐。第二个是2,第三个是7,两个都不能被4整除。对于2字节的字大小,只有第三个地址是不对齐的。