Войти
ФлеймФорумНаука

Кому интересно, откопал наглядное объяснение (ролик) о том, почему нельзя делить на ноль, и что будет, если всё-таки поделить (4 стр)

Страницы: 1 2 3 4
#45
13:43, 26 мар. 2018

122
> Видос не смотрел, но деление на ноль - реально большая проблема процов.
> При таковом делении вылетает программа скомпилированная любым компилятором, из
> чего я делаю вывод о том что проблема зашита в ЦП.

REALLYYYY?????

A я думал почему кресты даже исключение не бросают. Оказывается программа улетает.


#46
15:26, 26 мар. 2018

dave

if b < eps
dosomething
else
return a/b
end

Где забрать мою нобелевскую премию по говнокодерству?

#47
16:41, 26 мар. 2018

F320
Для int? std::numeric_limits<int>::epsilon()==0, кстати (с какого хрена?!).
Ну и if abs(b)<eps, конечно же.

#48
17:13, 26 мар. 2018

F320
> if b < eps
> dosomething
> else
> return a/b
> end

Паскаль чтоле?

#49
17:17, 26 мар. 2018

Может когда-то и було во времена ДОС, прога выбрасывала исключение и если говнокодер не обрабатывал его, то все улитало.

Но вот что из последнего пишут:

https://stackoverflow.com/questions/6121623/catching-exception-divide-by-zero

#50
17:25, 26 мар. 2018

dave
> the behavior is undefined.
и что изменилось? Теперь прога выбрасывает UB и что бы говнокодер не делал всё улитает?

#51
17:36, 26 мар. 2018

прочитал первые пару страниц и возникло стойкое ощущение, что кадаверилло вернулся.
122
у тебя пробелы в фундаментальных знаниях о программировании вообще и о математике в частности. Учи мат. часть пригодится.

#52
17:47, 26 мар. 2018

kipar
> выбрасывает UB

Есть мнение что для целых это Implementation dependent.

https://stackoverflow.com/questions/3004095/division-by-zero-unde… oogle_rich_qa

#53
17:52, 26 мар. 2018

dave
наоборот. Там говорят что для действительных может получиться INFINITY. (ну или NaN если 0/0.0). И судя по обсуждению - даже это спорно, если следовать букве стандарта. Целые это все равно не спасет, там INFINITY нет.

#54
17:56, 26 мар. 2018

FordPerfect

Если обрабатываются инты, то епс разумеется равно нулю, ну ок, давай заменим строгое неравенство на нестрогое 

#55
17:57, 26 мар. 2018

dave
Нет, доморощенный псевдо(говно)код ))

#56
18:38, 26 мар. 2018

На мой вкус: определение эпсилона (расстояние от 1 до следующего представимого числа) очевидным образом применяется к int и даёт 1.

#57
19:16, 26 мар. 2018

Другое дело, что std::numeric_limits<int>::epsilon() всё-равно здесь не в тему.
Минимальное непереполняющееся при 1/x число float - это 2-128*(1+2-21)=2.93873728e-39f.

Страницы: 1 2 3 4
ФлеймФорумНаука

Тема в архиве.