Будет ли значение когда-либо равно 0 после многократного сдвига на «x <<= 1»?

Мне интересно, достигнет ли x когда-либо нуля в следующей программе.

Пожалуйста, обратите внимание:

int main ()
{
    int x = 1;
    while (x)
      {
        x <<= 1;
      }
    return 0;
}

Должно ли ожидаемое поведение этой программы завершаться нормально или зацикливаться навсегда?

9
задан user1519088 11 July 2012 в 21:18
поделиться