1

私が立ち往生しているように見える3つの質問:

  1. x & ~077このコード行よりも優れているのはなぜですかx & 0177700。精度の低下が少ないからでしょうか。

  2. 数値のビット 5 を設定するためにこのコードが正しくないのはなぜですか? ではなく、num = num + 0x20 論理 or を使用する必要があるためでしょうか?|+

  3. x & 0xFFこのコードがこのコード行より優れているのはなぜ(x << 24) >> 24ですか? 正しい式は、元の int を変更する符号拡張になる可能性があります。私が行った例から、それは正しいと確信しています。

4

1 に答える 1

1

1、このコード x & ~077 は、このコード行 x & 0177700 よりも優れているのはなぜですか。

2番目のものでは、xの整数型の長さを仮定しているためです

2、ビット 5 を設定するためにこのコードが正しくないのはなぜですか? num = num + 0x20 + ではなく、論理和または | を使用する必要があるためでしょうか?

はい!それらは異なる演算子です。

于 2013-01-22T23:08:11.787 に答える