Javaで計算するためにこのコードを見ていました。math.sqrt
一部のループで 16 進値を使用し、変数に通常の値を使用したのはなぜですか? ヘックスを使用する利点は何ですか?
3494 次
3 に答える
28
16 進数は、10 進数よりもビットにはるかに密接に対応するためです。各 16 進数は 4 ビット (ニブル) に対応します。したがって、各 16 進数 (0 ~ F) に関連付けられているビットマスクを学習したら、「下位バイトのマスクが必要です」のようなことができます。
0xff
または、「下位 31 ビットのマスクが必要です」:
0x7fffffff
参考までに:
HEX BIN
0 -> 0000
1 -> 0001
2 -> 0010
3 -> 0011
4 -> 0100
5 -> 0101
6 -> 0110
7 -> 0111
8 -> 1000
9 -> 1001
A -> 1010
B -> 1011
C -> 1100
D -> 1101
E -> 1110
F -> 1111
于 2009-01-16T20:40:47.797 に答える
3
数値は 16 進数の方が覚えやすいため、おそらく 16 進数の値を使用しました。たとえば、0x7fffffff は 2147483647 と同じですが、覚えやすいです。
于 2009-01-16T20:39:17.830 に答える
2
16 進数は、CPU が実際に使用するバイナリの人間が読める形式です。低レベルのコマンドを見ると、多くの場合、CPU に合わせて 16 進数で考える方が理にかなっています。
于 2009-01-16T20:45:46.633 に答える