C#中是否存在“递增按位移位运算符”?

时间:2011-09-21 08:48:39

标签: c# bitwise-operators

假设我想通过按位移位来增加数字,即

1, 2, 4, 8, 16, etc

有没有办法将下面的i = i << 1压缩成增量运算符(++)之类的东西?

for (int i = 1; i <= 256; i = i << 1)
{
    Console.WriteLine(i);
}

4 个答案:

答案 0 :(得分:7)

你的意思是<<=

请参阅full list of C# operators

答案 1 :(得分:3)

您可以使用<<=。与i <<= 1中一样。

答案 2 :(得分:0)

这两者都是一样的。所以你可以使用底部的。

 --first one
 for (int i = 1; i <= 256; i = i << 1)
        {
            Console.WriteLine(i);
        }
--Second one
        for (int i = 1; i <= 256; i <<= 1)
        {
            Console.WriteLine(i);
        }

答案 3 :(得分:0)

好像你正在寻找&lt;&lt; =运算符。

所以代替:i = i << 1

你可以写:i <<= 1