Комментарии 5
WelcomeScreenEnabled = 1 << 41 ;
правильно : WelcomeScreenEnabled = 1L << 41;
Результат будет: 2199023255552.
Работает до 1L << 62 = 4611686018427387904, дальше отрицательные значения
1L << 63 = -9223372036854775808.
Просто буквально на днях втыкался в эту ошибку, там величина сдвига определялась при вычислениях, и получалась 1. А можно так:
WelcomeScreenEnabled = 1UL << 63;
Получим: 9223372036854775808;
+2
Спасибо, буду знать чего не стоит делать.
+1
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Топ-10 ошибок, найденных в C#-проектах за 2022 год