0

整数をパラメーター(0、1、2、または3)として受け取るメソッドを作成する必要があります。これを使用して、0のビットマスクを作成する必要があります。したがって、パラメーターが0の場合、ビットマスクよりも、FFF01:FF0F、2:、F0FF3 :。0FFF私はそれをハードコーディングしないようにしています。

私が試したことですが、部分的にしか機能しません:

int bob = 0xFFFF;
int multi = 2;

multi = multi << param;

これは1と2で機能し、それらの場合でも、、、に0xFF00なり0xF000ます。

私も掛け算を使わないようにしています(掛け算がずっと簡単になるので、使いたくありません)。

4

3 に答える 3

2

私は言うだろう:

0xFFFF - (0xF << (param * 4))
于 2013-01-23T00:20:04.963 に答える
2

このようなもの:

bitmask = 0xFFFF;
bitmaskmask = 0xF;
bitmaskmask = bitmaskmask << parameter * 4;
bitmask = bitmask ^ bitmaskmask;
于 2013-01-23T00:20:30.267 に答える
0

入力が与えられると、次のようにビット単位のXOR演算を使用して探しているものを実現できます。

xorMask = 0x000F << (4*multi) ;
result = bob ^ xorMask ;

これにより、16ビット値の適切な部分に1ビットのXORマスクが作成され、入力とXORされて、出力のそれらのビットが0になります。

于 2013-01-23T00:24:43.163 に答える