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

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

Вернуться   Форум программистов > Клуб программистов > Свободное общение
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.12.2010, 10:55   #21
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Цитата:
создал число в котором 125002 разряда
При делении на 0 "фиолетово" сколько значащих разрядов. 1ЕХХХ - где ХХХ - показатель степени числа 10 (например).
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 17.12.2010, 11:12   #22
JTG
я получил эту роль
Старожил
 
Аватар для JTG
 
Регистрация: 25.05.2007
Сообщений: 3,694
По умолчанию

Вот что у вольфрама:
0/0 = undefined
1/0 = Complex infinity

Калькулятор гугла тупо отмалчивается при делении на 0, зато вот таким нехитрым способом у него можно узнать насколько бесконечная бесконечность

Вообще такие тонкости сурового матана лучше у целевой аудитории спрашивать – у программистов на фортране, лиспе... Я бы бросил исключение, слишком уж много способов наткнуться на такие грабли и интерпретатор должен быть ну очень умным, чтоб адекватно всё это дело переваривать (например, вернуть ближайшее значение справа или слева для функции с разрывом и т.п.), пусть программист сам разбирается
пыщь
JTG вне форума Ответить с цитированием
Старый 17.12.2010, 11:28   #23
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Цитата:
Сообщение от Utkin Посмотреть сообщение
Да нету здесь разрядности, читайте внимательно - арифметика построена как платформонезависимая. Сколько мне надо разрядов столько и будет (ну а кромя момента, когда памяти не хватит). Это арифметика чисел с произвольным числом разрядов.
Под разряды выделяется 2 динамических массива - сколько туда разрядов поместится?
Возможно столько, сколько есть свободной памяти (включая SWP) .
Как по мне, я бы не заморачивался с разрядами. Если в арифметике нельзя делить на ноль, значит нельзя и точка (т.е. исключение). Вывел бы знак бесконечности, в ответ на такой беспредел.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 17.12.2010, 12:30   #24
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
Если в арифметике нельзя делить на ноль
Вроде как можно... Хотя не знаю. Но вот некоторые источники утверждают, что можно http://lurkmore.ru/%D0%94%D0%B5%D0%B...BE%D0%BB%D1%8C
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 17.12.2010, 16:00   #25
Ghost of Night
Форумчанин
 
Аватар для Ghost of Night
 
Регистрация: 08.08.2010
Сообщений: 371
По умолчанию

Метод деления на нуль есть, иначе зачем тогда придумали это число???
Только для счета и всё!!!??
Хакинг - не преступление, а способ выживания.
Ghost of Night вне форума Ответить с цитированием
Старый 17.12.2010, 16:02   #26
Андрей 93
Люблю жизнь
Форумчанин
 
Аватар для Андрей 93
 
Регистрация: 01.12.2009
Сообщений: 193
По умолчанию

Может быть надо использовать константу Infinity? Если я сморозил глупость, не судите строго
Не стыдно не уметь, стыдно не учиться.
Андрей 93 вне форума Ответить с цитированием
Старый 17.12.2010, 16:09   #27
Ghost of Night
Форумчанин
 
Аватар для Ghost of Night
 
Регистрация: 08.08.2010
Сообщений: 371
По умолчанию

Даже если кто-то и сможет разделить на 0 и доказать это, то человечеству придется переписывать всю математику.
А этого никто делать не хочет, поэтому легче было признать что на нуль делить нельзя....
Хакинг - не преступление, а способ выживания.
Ghost of Night вне форума Ответить с цитированием
Старый 17.12.2010, 16:32   #28
MaTBeu
Eclipse Foundation
Старожил
 
Аватар для MaTBeu
 
Регистрация: 19.09.2007
Сообщений: 2,604
По умолчанию

Должно быть исключение - так как если вы его не заметите, программа упадет и вы узнаете сразу из-за чего. А так вы можете провести много часов в отладке, если ваша программа вернет какое-то "правильное" число и упадет где-то в абсолютно далеком от места возникновения месте программы.

Помните главное качество хорошего программиста для компилируемых языков? "Нужно ошибки времени выполнения переносить на этап компиляции". Поэтому исключение и только исключение.
MaTBeu вне форума Ответить с цитированием
Старый 17.12.2010, 18:10   #29
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
Сообщение от Андрей 93 Посмотреть сообщение
Может быть надо использовать константу Infinity? Если я сморозил глупость, не судите строго
MaTBeu, альтернативный вариант возвращать эту самую константу (только о ней пока не условились). Скажем 100000 разрядов заполненных 9-ками. Это менее 100 килобайт на число, в большинстве случаев такой результат вернуть можно (правда он конечно не идеальный, поскольку это не самое большое из возможных чисел данного типа).

Цитата:
если ваша программа вернет какое-то "правильное" число и упадет где-то в абсолютно далеком от места возникновения месте программы.
Наверно Вы правы, но деление на нуль это нештатная ситуация - она вообще не должна появляться. Однако дело в том, что исключение только сигнализирует о такой ошибке, а не предотвращает ее. Иными словами, если я неверно составлю программу, возможны ситуации когда деление на нуль будет возникать не всегда. Допустим я получил исключение, что дальше? Это говорит о том, что возникла ситуация которой быть не должно, но саму ситуацию оно не меняет. То есть с таким же набором параметров та же самая программа выдаст аналогичное исключение. И уже поставленную задачу оно точно не решит... Не подумайте, что я пытаюсь кого-то в чем-то убедить, но просто на самом деле это не такая уж и простая проблема как кажется на первый взгляд.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 17.12.2010, 18:14   #30
Simply-Art
Программист и
Участник клуба
 
Аватар для Simply-Art
 
Регистрация: 29.10.2006
Сообщений: 1,265
По умолчанию

Был вариант представить ноль как б.м.в. так вот и сделайте так.
Если то что я сказал незнакомо вам то пишите в лс, поясню, ну и как результат думаю стоит прикрепить к теме ваш окончательный вариант модуля.
Simply-Art вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Деление на нуль при запуске Pababop Паскаль, Turbo Pascal, PascalABC.NET 0 12.12.2010 16:43
убрать null (нуль) символы в строке Kib Общие вопросы Delphi 7 25.06.2010 14:22
как поставить ограничение на число нуль а не на символ нуль??? Dr.Swat Помощь студентам 0 12.06.2010 20:35
Делить без остатка rangel PHP 4 30.07.2009 14:31
На 0 делить! abdumanon Microsoft Office Excel 6 07.04.2009 13:18