2010-10-13 164 views
3

你可以通過查看它們告訴他們哪些地址是字對齊如何確定地址是否是字對齊的

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

回答

12

簡短的回答是肯定的。但是你必須定義每個字的字節數。一些體系結構稱兩個字節爲一個字,四個字節爲雙字。無論如何,你只是在心裏計算addr%word_sizeaddr&(word_size - 1),看看它是否爲零。當地址是十六進制的時候,它是微不足道的:只要看最右邊的數字,看它是否可以被字大小整除。

對於4字節的字大小,示例的第二個和第三個地址未對齊。第二個是2,第三個是7,兩個都不能被4整除。對於2字節的字大小,只有第三個地址是不對齊的。

相關問題