Только записываются столь длинные числа не совсем обычно. Чтобы компилятор понял, что это число типа _int64, к нему в хвост надо приписать обозначение 164, например:

3000000000164

h00681.jpg

При записи целых чисел использование пробелов или запятых не допускается!

Правильно:

3000000

3000000000164 Неправильно:

3 000 000

3,000,000

•~~~~~~~~~~—~~~~~"' '"•"•----------"^^-^'-"--"---'«"—---^^

— А что будет, если значение все-таки выйдет за разрешенные границы?

— Такие ситуации в Си++ ошибками не считаются, и никаких предупреждений по этому поводу компилятор C++Builder не выдает (хотя некоторые трансляторы это делают), даже если вы явно напишите (неверно!):

int i;

i = 3000000000;

— А что же произойдет во время работы программы?

— Число 3000000000 будет автоматически преобразовано в допустимое число из диапазона int — в число -1 294 967 296. Как вы видите, подобное преобразование может дать самый неожиданный, в нашем случае даже отрицательный, результат!

h00682.jpg

Если сложить абсолютное значение этого «странного», на первый взгляд, результата, и 3 000 000 000, то мы получим число 4 294 967 296, то есть число 232-

Си++ — язык программирования очень мощный и эффективный. Именно благодаря тому, что во время работы программы не происходит всевозможных проверок, таких, например, как проверка на граничные значения, программа выполняется очень быстро. С другой стороны, по этим же причинам Си++ потенциально таит в себе множество подводных камней, различных источников ошибок, поэтому составлять программу на этом языке надо очень аккуратно и внимательно.

68