Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.11.2021, 22:51   #11
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,501
По умолчанию

Ещё можно переключиться на совершенно филосовское русло.

вот 0 разделить на 0
В чём собсвенно проблема результат выдавать как 0
или пойти дальше и любое деление на ноль воспринимать как желание получить само число и не выдавать ошибок.
Т.е. деление на 0 выполнять как деление на 1.

Кто нас, собсвенно, обязывает декларировать невозможным деление на ноль ))
Alar вне форума Ответить с цитированием
Старый 14.11.2021, 22:55   #12
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

Цитата:
Сообщение от Alar Посмотреть сообщение
Кто нас собсвенно обязывает декларировать невозможным деление на ноль ))
Вобщем-то да, тем более в Math есть такая
Код:
const Infinity =  1.0 / 0.0;
Но это действительный тип, а я пока о целых, и там не совсем деление / а div

PS Ссылы посмотрю.
type_Oleg вне форума Ответить с цитированием
Старый 14.11.2021, 23:00   #13
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,501
По умолчанию

Цитата:
Сообщение от type_Oleg Посмотреть сообщение
PS Ссылы посмотрю.
Ну как бы это больше для полноты темы, я думаю вам там не будет ничего нового, там как раз говорится о том что
Цитата:
Сообщение от type_Oleg Посмотреть сообщение
div
Это не просто деление а функция, или Ключевое слово, keywords как она там называется.
Которое всегда можно дописать как удобнее программистам не получая втыков от математиков ))
Alar вне форума Ответить с цитированием
Старый 14.11.2021, 23:20   #14
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,547
По умолчанию

Цитата:
Сообщение от Alar Посмотреть сообщение
Это не просто деление а функция, или Ключевое слово, keywords как она там называется.
Которое всегда можно дописать как удобнее программистам не получая втыков от математиков
Это не функция, она сразу переводится в машинный код, операция деления, это команда процессора, которая и вызывается.
Для полноты картины надо посмотреть на этот самый код, который выдают разные компиляторы.
Arigato вне форума Ответить с цитированием
Старый 15.11.2021, 00:17   #15
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Цитата:
Сообщение от digitalis Посмотреть сообщение
Может, компилятор умный и выбрасывает этот оператор?
Ага, умный и выбросит весь мертвый код.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 16.11.2021, 02:24   #16
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,872
По умолчанию

Цитата:
Сообщение от type_Oleg Посмотреть сообщение
Код:

var a,b:Word; // или Integer
begin
b:=0;
a:=1 div b;
// ........

нормально прокатывает в Delphi
А результат этого деления как-то используется далее в коде?
Если нет, то вот вам результат работы оптимизатора Дельфи. Этот код просто будет выкинут как не имеющий смысла.
northener вне форума Ответить с цитированием
Старый 16.11.2021, 02:29   #17
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

Цитата:
Сообщение от northener Посмотреть сообщение
А результат этого деления как-то используется далее в коде?
Если нет, то вот вам результат работы оптимизатора Дельфи. Этот код просто будет выкинут как не имеющий смысла.
Не, он не настолько "умён". См. вот - пост #6 https://www.programmersforum.ru/show...68&postcount=6
Вставил проверку, время расчета увеличилось. Хотя результат все так же не используется.
type_Oleg вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывести на экран 1 или 0 в зависимости от того, имеют три заданных целых числа одинаковую четность или нет. Delphi. Проверить задачу на ошибки student_23 Помощь студентам 3 27.01.2017 09:45