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

要了解移位操作,您必须了解二进制数。

让我们以左移为例:

z = 7 << 2;

32位整数7是二进制的0000 0000 0000 0000 0000 0000 0000 0111。您必须从右侧开始将位移动到左侧。从任一端移出的位将被丢弃。

将其移动 1 将导致0000 0000 0000 0000 0000 0000 0000 1110

再将其移动 1 次将得到0000 0000 0000 0000 0000 0000 0001 1100,即整数表示中的 28。

阅读这篇优秀的维基百科文章二进制数

于 2013-03-03T18:20:51.060 回答