Следует помнить о сдвиге битов: ваши значения имеют только конечное число битов, и (по крайней мере, для примитивных типов значений) это число битов будет меньше 99.
На самом деле, если вы скомпилируете свой код с включенными предупреждениями, вы, вероятно, увидите следующее предупреждение:
`warning: shift count >= width of type [-Wshift-count-overflow]`
... это компилятор, который говорит вам, что вы пытаетесь сделатьвызывает неопределенное поведение.Скорее всего, смещаемое вами значение имеет длину 32 или 64 бита (в зависимости от вашего кода и / или компьютера, для которого вы компилируете), поэтому сдвиг влево на большее количество битов, чем это недопустимо.