|
В конкретный случай для компилятора оба 1000 и 30517 - это рядовые int. Так он выполняет умножение как 16-битовое.
Другое дело 1000000 - компилятор понимает что это long, так что делает 32-битовое умножение.
Есть и другие примеры, например:
(1 << 15) - это -32768,
но (1L << 15) - это как можете догадаться +32768,
а (1 << 16) - это всегда 65536.
E-mail: info@telesys.ru