おい!私はhttp://www.gnu.org/software/m68hc11/examples/primes_8c-source.htmlでこのコードを見ていました
134行目のように、状況によっては16進数を使用していることに気づきました。
for (j = 1; val && j <= 0x80; j <<= 1, q++)
では、なぜ彼らは0x80を使用するのでしょうか。私は16進数があまり得意ではありませんが、オンラインの16進数から10進数を見つけたので、0x80で128になりました。
また、134行目の前の114行目には次のようなものがあります。
small_n = (n & 0xffff0000) == 0;
16進数から10進数では、その16進数に対して4294901760が得られました。したがって、この行では、彼らは少しANDを作成し、結果を0と比較していますか?
数字だけを使ってみませんか?誰か説明してもらえますか、他の状況の例を挙げてください。
また、16進数だけの大きなコード行を見たことがありますが、その理由がよくわかりません:(