|
1 / 1 / 1
Регистрация: 04.05.2016
Сообщений: 266
|
||||||
Деление на 029.03.2018, 17:25. Показов 18861. Ответов 33
Метки нет (Все метки)
Все говорят на 0 делить нельзя,но я поделил,в чем тут подвох
0
|
||||||
| 29.03.2018, 17:25 | |
|
Ответы с готовыми решениями:
33
Задача про деление яблок (целочисленное деление) Умножение, деление и деление с остатком Деление знаковых чисел с выводом ошибки "Деление на ноль" |
|
|
||
| 29.03.2018, 21:11 | ||
|
Нету такого типа "long long double". Есть "long long", и есть "long double". Что конкретно ты имел в виду?
C++ #include <iostream> using namespace std; int main() { long long x=1/(double)0; cout<<x<<endl; long double y=1/(double)0; cout<<y<<endl; } Code $ g++ t.cc
$ ./a.exe
-9223372036854775808
inf
0
|
||
|
1 / 1 / 1
Регистрация: 04.05.2016
Сообщений: 266
|
|
| 29.03.2018, 21:12 [ТС] | |
|
Evg, перепутал long long int
и бесконечность я имел в виду
0
|
|
|
Велосипедист...
353 / 220 / 73
Регистрация: 15.12.2015
Сообщений: 785
|
||
| 29.03.2018, 22:47 | ||
|
Evg уже все рассказал и показал. Добавлю только вырезку из Стандарта:
0
|
||
|
Велосипедист...
353 / 220 / 73
Регистрация: 15.12.2015
Сообщений: 785
|
|
| 30.03.2018, 00:48 | |
|
Evg, нет. Это касается и вещественного деления
1
|
|
|
677 / 479 / 216
Регистрация: 06.09.2013
Сообщений: 1,312
|
|
| 30.03.2018, 04:04 | |
|
1
|
|
|
Велосипедист...
353 / 220 / 73
Регистрация: 15.12.2015
Сообщений: 785
|
|
| 30.03.2018, 04:42 | |
|
0
|
|
|
677 / 479 / 216
Регистрация: 06.09.2013
Сообщений: 1,312
|
||
| 30.03.2018, 07:03 | ||
|
Хотя я не специалист, но во многих реальных программах связанных с вычислениями, вещественное деление на ноль используется, видел то ли в OpenCV, то ли в OpenCASCAD. Например, если в знаменателе разность вещественных чисел, а в числителе - ненулевое число, делят не проверяя, а результат используется для сравнения с каким-то значением, бесконечность всегда будет больше, минус бесконечность меньше.
1
|
||
|
Велосипедист...
353 / 220 / 73
Регистрация: 15.12.2015
Сообщений: 785
|
||
| 30.03.2018, 08:40 | ||
|
Понимаете к чему я клоню? Очевидно, что большинство современных процессоров сейчас используют именно IEEE 754, но все же не все. Это не единственный стандарт представления вещественных чисел... существуют другие. Именно поэтому в Стандарте, что касается математических констант ( INFINITY или NAN, к примеру ), приставляется фраза «if available».Я не хотел сейчас этим выпендриться. Я Вас уважаю. Просто поставил остальных в известность. Я считаю, что это полезная информация.
0
|
||
|
|
|
| 30.03.2018, 09:14 | |
|
Посмотрел в стандарт ISO/IEC 9899:1999, действительно в разделе 6.5.5 пункт 5 про деление говорится в целом, не разделяя на целочисленное и вещественное. Однако постфактум имеем то, что это является очередным местом, где в реальной жизни поведение в данном месте почти всегда можно считать вполне определённым. Постфактум на всех культурных процессорах вещественные вычисления работают в стандарте IEEE-754 в части float и double и в аналогичных по свойству стандартах для long double
Вырезку из стандарта, приведённую в посте #23, следует трактовать как общее замечание, напрямую не относящееся к данной теме. Просто об этом лучше писать явно, а то многие начинающие прочтут, не так поймут, и начнут делать очередные бредовые заявления типа того, что написано в посте #14 Несмотря на то, что все железки работают более-менее одинаково, мы всё равно имеем некие тонкие отличия, которые я описал в посте #13. В ситуациях, которые не покрыты стандартом IEEE-754 (или там обозначены как-нибудь со смыслом implementation defined) мы имеем различное поведение одного и того же кода на разных процессорах. Т.е. расслабляться раньше времени не следует. Лучше взять за правило и максимально избегать любой ситуации, не имеющей однозначной трактовки в стандарте Си
1
|
|
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,876
|
||||
| 30.03.2018, 09:25 | ||||
|
это и есть INF для double, точнее часть его полный INF 0xFFFFFFFFFFFFFFFF но все остальное уже сказали
0
|
||||
|
|
|||
| 30.03.2018, 09:37 | |||
|
Не говоря уж о том, что на sparc'е совсем другое значение Когда преобразуют из вещественного в целое, то если вещественное имеет значение больше, чем максимально возможное целое, то одно из решений - в качестве результата получить максимально возможное целое (это называется "преобразование с насыщением результата"). Именно по такой логике работает sparc'овская железка. Т.е. преобразование вещественной бесконечности в 32-битное целое даёт значение +2147483647. На интеле по каким-то своим внутренним соображениям результат получается на единицу больше, что превращается в -2147483648 Но ни то, ни другое, вообще никак не связаны с битовым представлением бесконечности, которое к тому же ты ещё и неправильно расписал. Бесконечность имеет все единички в экспоненте и все нули в мантиссе. Ну ещё знак. Т.е. double'овый +inf в битовом представлении выглядит как 0x7fff000000000000 Добавлено через 1 минуту
1
|
|||
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,876
|
|||
| 30.03.2018, 09:55 | |||
|
0
|
|||
| 30.03.2018, 15:07 | |
|
0
|
|
| 30.03.2018, 15:07 | |
|
Деление на 1 Деление Деление Деление на 0 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
|
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет:
1. Использовать системное время и дату,
2. Есть возможность вводить время и дату вручную.
3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
|
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber.
Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
|
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео:
https:/ / vkvideo. ru/ video-240781534_456239017
YouTube:
eY5-5PyI9NM
Текстовая версия
|
|
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать
Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
|
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства.
Родственных связей существует 8 ступеней, такие как:
p - отец
P - мать
q - муж
Q - жена
b - брат
B - сестра
s - сын
S - дочь
|
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире.
Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|