0

//((みなさん、こんにちは!私はC#の初心者です。次のプログラムで、左右のシフト演算子の機能とその動作方法を教えてください。どこかで読んでいますが、混乱しています。ありがとう))

using System;
class clc
{
    public static void Main() // the Main method
    {
        int x = 7, y = 2, z, r;
        z = x << y ; //left shift operator
        r = x >> y; // right shift operator
        Console.WriteLine("\n z={3}\tr={4} ",z,r);

    }
}
4

1 に答える 1

1

シフト操作を理解するには、2進数を理解する必要があります。

左シフトの例を見てみましょう。

z = 7 << 2;

32ビット整数7は、2進数で0000 0000 0000 0000 0000 00000000111です。ビットを右から左に移動する必要があります。どちらかの端からシフトアウトされたビットは破棄されます。

1だけシフトすると、0000 0000 0000 0000 0000 000000001110になります。

もう一度1シフトすると、0000 0000 0000 0000 0000 0000 0001 1100になります。これは、整数表現では28です。

この良いウィキペディアの記事を読む2進数

于 2013-03-03T18:20:51.060 に答える