Cтраница 1
Целочисленное деление несколько отличается от обычного. [1]
Результат целочисленного деления X div Y равен результату деления X / Y, округленному в сторону нуля до ближайшего целого. Если делитель равен нулю, генерируется исключение ( см. разд. [2]
Это похоже на целочисленное деление, когда мы отбрасываем остаток. [3]
Исключены понятие own и операция целочисленного деления. [4]
Арифметические операции, за исключением операции целочисленного деления, определены над числами как целого, так и действительного типа. [5]
Модула-2 использует операцию DIV для обозначения целочисленного деления - операции над типами INTEGER и CARDINAL - и операцию / для деления чисел типа REAL. Это различие способствует сознательному применению в программе целочисленного деления, отбрасывающего дробную часть, либо деления над типом REAL, которое дает результат, настолько точный, насколько позволяет данный компьютер. Очевидно, что операции MOD для чисел REAL не существует. [6]
Арифметические операции, за исключением операции целочисленного деления, определены над числами как целого, так и действительного типа. [7]
![]() |
Арифметические операции. [8] |
Заметим, что любая десятичная часть при целочисленном делении просто отбрасывается ( т.е. усекается) - округление не производится. В C имеется операция вычисления остатка %, которая дает в качестве результата остаток от целочисленного деления. Выражение х % у дает остаток от деления х на у. В последующих главах мы обсудим много интересных применений операции вычисления остатка, таких, как определение, является ли одно число кратным другому. [9]
Последний результат объясняется тем, что при выполнении целочисленного деления отбрасывается дробная часть ( но не округляется. [10]
![]() |
Порядок выполнения операций в некотором арифметическом выражении. [11] |
Следует обратить внимание, что между результатами выполнения целочисленного деления и выполнения функции entier имеется следующее отличие. [12]
Арифметические операции выполняют сложение, вычитание, умножение и целочисленное деление ( -, и /), а также операцию MOD, дающую остаток от деления нацело. [13]
На рис. 3.1 приведены примеры таких стандартных сообщений в приложении VCL Win32 для случаев целочисленного деления на нуль, попытки открыть не существующий файл и попытки преобразовать функцией StrToInt строку 1.5 в целое число. Пользователь, не очень хорошо владеющий английским, вряд ли будет обрадован подобными текстами. [14]
Данная программа инсталлирует функцию трансляции исключений SETranslate и генерирует одно из двух исключений Win32: целочисленное деление на ноль или нарушение доступа. Механизм обработки исключений вызывает функцию SETranslate, генерирующую исключение C с объектом класса CSExcept. Конструктор класса хранит код исключения в переменной m ExCode с атрибутом доступа private. Если catch не распознает код исключения Win32, то он использует оператор throw для инициализации стандартной обработки исключения, т.е. для завершения программы с выводом окна сообщения. [15]