Бинарными арифметическими операциями являются +, -, *, /и операция деления по модулю %. Имеется унарная операция -,но не существует унарной операции +. При делении целых дробная часть отбрасывается. Выражение X % Y дает остаток от деления X на Y и, следовательно, равно нулю,когда х делится на Y точно. Например, год является високос-ным, если он делится на 4, но не делится на 100, исключаято, что делящиеся на 400 годы тоже являются високосными. По-этому IF(YEAR % 4 == 0 && YEAR % 100 != 0 \!\! YEAR % 400 == 0) год високосныйELSE год невисокосный Операцию % нельзя использовать с типами FLOAT илиDOUBLE. Операции + и - имеют одинаковое старшинство, котороемладше одинакового уровня старшинства операций *, / и %, ко-торые в свою очередь младше унарного минуса. Арифметическиеоперации группируются слева направо. (Сведения о старшинствеи ассоциативности всех операций собраны в таблице в концеэтой главы). Порядок выполнения ассоциативных и коммутатив-ных операций типа + и - не фиксируется; компилятор может пе-регруппировывать даже заключенные в круглые скобки выраже-ния, связанные такими операциями. таким образом, а+(B+C) мо-жет быть вычислено как (A+B)+C. Это редко приводит к како-му-либо расхождению, но если необходимо обеспечить строгоопределенный порядок, то нужно использовать явные промежу-точные переменные. Действия, предпринимаемые при переполнении и антипере-полнении (т.е. При получении слишком маленького по абсолют-ной величине числа), зависят от используемой машины.