Почему 0 делится на 0 ошибка? - PullRequest
20 голосов
/ 13 июля 2010

Я столкнулся с этой проблемой в вычислениях, которые я делаю в своем коде, где делитель равен 0, если делитель тоже равен 0. В моем коде я возвращаю 0 для этого случая. Мне интересно, хотя деление на ноль обычно не определено, почему бы не сделать исключение для этого случая? Мое понимание того, почему деление на ноль не определено, заключается в том, что его нельзя изменить. Однако я не вижу этой проблемы в случае 0 / 0.

РЕДАКТИРОВАТЬ ОК, поэтому этот вопрос вызвал много дискуссий. Я допустил ошибку, приняв ответ слишком охотно, потому что получил много голосов. Теперь я принял ответ AakashM , потому что он дает представление о том, как анализировать проблему.

Ответы [ 18 ]

1 голос
/ 13 июля 2010

Сколько раз 0 входит в 0?5. Да - 5 * 0 = 0, 11. Да - 11 * 0 = 0, 43. Да - 43 * 0 = 0. Возможно, вы можете понять, почему это не определено сейчас?:)

0 голосов
/ 23 апреля 2011

Это только логический ответ, а не математический, представьте, что ноль пуст, как вы можете разделить пустое на пустое. Это случай деления на ноль, а также как вы можете разделить на пустое.

0 голосов
/ 23 июля 2010

Вот что я бы сделал:

function div(a, b) {
    if(b === 0 && a !== 0) {
        return undefined;
    }
    if(b === 0 && a === 0) {
        return Math.random;
    }
    return a/b;
}
0 голосов
/ 13 июля 2010

почему бы не сделать исключение для этого случая?

Потому что:

  • , как говорили другие, это не так просто;)
  • нет приложения для определения 0/0 - добавление исключения усложнит математику без выгоды.
0 голосов
/ 13 июля 2010

Если a / b = c, то a = b * c. В случае a = 0 и b = 0, c может быть любым, потому что 0 * c = 0 будет истинным для всех возможных значений c. Следовательно, 0/0 не определено.

0 голосов
/ 03 октября 2012

0 ничего не значит, поэтому, если у вас ничего нет, это не значит, что что-то нужно распространять. В некоторых транзитных пунктах, когда они перечисляют количество поездок по определенной линии, номер поездки 0 обычно является специальным маршрутом, который направляется другим способом. Как правило, хорошим примером может служить система транзитных перевозок Торранса, где линия 2 совершает поездку перед первой поездкой, известной как поездка № 0, которая работает только в будние дни, в частности, эта поездка является поездкой № 0, поскольку это специализированный маршрут, который направляется отличается от всех других маршрутов.

Подробнее см. На следующих веб-страницах: http://transit.torrnet.com/PDF/Line-2_MAP.pdf http://transit.torrnet.com/PDF/Line-2_Time_PDF.pdf

На карте поездка № 0 - это поездка, которая отображается пунктирной линией, сплошная линия отображает регулярную маршрутизацию.

Иногда 0 можно использовать при нумерации рейсов, которые совершает маршрут, если он считается маршрутом «Экспресс-обслуживания».

0 голосов
/ 09 марта 2016

Когда вы вводите ноль, деленный на ноль, возникает ошибка, потому что все, что вы умножаете на ноль, будет равно нулю, поэтому это может быть любое число.

0 голосов
/ 13 июля 2010

Как сказал Анджей Дойл:

Все, что погружено в ноль, - это бесконечность. 0/0 тоже бесконечность. Вы не можете получить 0/0 = 1. Это основной принцип математики. Вот так весь мир вращается. Но вы можете отредактировать программу так, чтобы сказать «0/0 невозможно» или «Невозможно разделить на ноль», как говорят в сотовых телефонах.

...