|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
17.12.2010, 08:43 | #11 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
То есть тоже исключение ?
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
17.12.2010, 08:59 | #12 |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
Ну, если хотите, рассматривайте 0 не как 0, а как бесконечно малое число. Вычисляйте пределы и т.п.
Тогда, если в результате Ваших расчетов получится, например, бесконечность (бесконечно большое число), то как его записывать - решайте сами. P.S. Разговор ни о чем. Нет предмета. В "чистой" математике это не допустимо. В прикладных вычислениях - всегда есть пределы рассмотрения задачи. А Ваш вопрос в чем состоит?
Чем шире угол зрения, тем он тупее.
|
17.12.2010, 09:04 | #13 | |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Цитата:
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
|
17.12.2010, 09:09 | #14 | |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
Цитата:
Чем шире угол зрения, тем он тупее.
|
|
17.12.2010, 09:21 | #15 | |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Цитата:
Разделить 1 на 0 до 5 разрядов ----> 99999,99999 Или же всегда возвращать определенное число? Например сто раз по 9?
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
|
17.12.2010, 09:31 | #16 |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
Вы так и не говорите, что это за расчеты. Если это калькулятор, то ошибки делении на 0 не обойти никак. Более того, о ней нужно знать. А если это практические расчеты, то предельные значения Вы знаете. Более того, если в определенном месте расчетов встречается деление на 0, то (очень часто) дальнейшие вычисления можно и вовсе не производить, а сразу записать результат.
Вы просто примеры решаете? Или это какой-то практический расчет? Так, например, если мы вычисляем скорость, то подсказать, каким предельным значением ограничиться? (шутка).
Чем шире угол зрения, тем он тупее.
|
17.12.2010, 09:35 | #17 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Я не знаю, какие будут расчеты - просто написал юнит для организации работы с длинными числами. Кто ее и как воспользуется это вопрос. Может студент на ее основе напишет калькулятор, а может кто захочет воспользоваться для проведения астрономических расчетов... Иными словами, мне не известны предельные значения.
Лично я планирую на ее основе написать свой интерпретатор...
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
17.12.2010, 10:18 | #18 |
Trust no one.
Старожил
Регистрация: 07.04.2009
Сообщений: 6,526
|
ИМХО:
Создать спец глобальный флаг о делении на нуль (вообще в него все ошибки скидывать), возвращать его значение по GetLastEггог. А результатом деления на ноль возвращать некоторое значение типа NaN или INF. У Вас там дофига место в структурах, посвященным разрядам - добавьте туда интеджер значение о том, что это - NaN, INF или нормальное число.
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ |
17.12.2010, 10:23 | #19 | |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
Цитата:
Где-то в API можно получить разрядность машины. Так вот, функция получает разрядность и выводит максимальное число в соответствии с разрядностью, или (всё таки) через исключения. Насколько я знаю, их никто не отменял. Можно эти методы совмещать. Например, если мы делим не на 0, а на оооочень маленькое число, выдаётся максимальное число по разрядности, если голимый 0 - иключение типа "Переполнение разрядности", ну или что-то в этом роде.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder |
|
17.12.2010, 10:36 | #20 | |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Цитата:
Под разряды выделяется 2 динамических массива - сколько туда разрядов поместится? Специально проверил только что - создал число в котором 125002 разряда, проглотил и не подавился (провел сложение с 1). Что дальше?
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика Последний раз редактировалось Utkin; 17.12.2010 в 10:40. |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Деление на нуль при запуске | 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 |