Существует ли в C # «оператор инкрементного побитового сдвига»? - PullRequest
1 голос
/ 21 сентября 2011

Скажем, я хочу увеличить число на битовое смещение, т.е.

1, 2, 4, 8, 16, etc

Есть ли способ сжать i = i << 1 ниже до чего-то вроде оператора приращения (++)?

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

Ответы [ 4 ]

7 голосов
/ 21 сентября 2011

Вы имеете в виду что-то вроде << = </a>.

См. полный список операторов C #

3 голосов
/ 21 сентября 2011

Для этого вы можете использовать <<=. Как в i <<= 1.

0 голосов
/ 21 сентября 2011

Похоже, вы ищете оператора << =. </p>

Таким образом, вместо: i = i << 1

Вы можете написать: i <<= 1

0 голосов
/ 21 сентября 2011

Оба они одинаковы.Таким образом, вы можете использовать нижний.

 --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);
        }
...