E?X % 256 = ?L
256 が基数 10 で % がモジュラス関数である場合、常に機能するようです。
なんで?
「mod 256」は 256 で割った余りです。
2 進数では、これは最下位の 8 ビットになります (256 は 2 から 8 ビットであるため)。
これは、「mod 2」が最下位ビット (0 または 1) を与えるようなものです。
オン (10 進数、基数 10) の場合、「mod 100」は小数点以下 2 桁を返します (2013 mod 100 => 13)。
それはまさに数学の仕組みです。数値xをm nで除算すると、余りは基数mのxの最下位n桁になります。
たとえば、底が 10 の場合、任意の数値を 10 nで割ると、除算の余りは元の数値の最下位n桁になります。例:
5 mod 10^1 = 5 mod 10 = 5
1245 mod 10^2 = 1245 mod 100 = 45
2 進法でもまったく同じことが起こります。256 は 2 8 (2 進法では 100000000 です) 数値を 100000000 で割ると、余りはその数値の最下位 8 ビットになります。