4

それらを見て、これらのアドレスのどれがワード アラインされているかを判断できますか?

0x000AE430
0X00014432
0X000B0737
0X0E0D8844

4

1 に答える 1

16

短い答えは、はいです。ただし、1 ワードあたりのバイト数を定義する必要があります。一部のアーキテクチャでは、2 バイトを 1 ワード、4 バイトを 2 ワードと呼びます。いずれにしても、 または を頭の中で計算し、それがゼロかどうかを確認するだけaddr%word_sizeですaddr&(word_size - 1)。アドレスが 16 進数の場合は簡単です。右端の数字を見て、ワード サイズで割り切れるかどうかを確認してください。

ワード サイズが 4 バイトの場合、例の 2 番目と 3 番目のアドレスは整列されていません。2 番目には 2 があり、3 番目には 7 があり、どちらも 4 で割り切れません。ワード サイズが 2 バイトの場合、3 番目のアドレスだけがアラインされていません。

于 2010-10-13T10:19:23.240 に答える