powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Помогите!!! что делать с этим числом.... (((
25 сообщений из 70, страница 1 из 3
Помогите!!! что делать с этим числом.... (((
    #33668618
Здравствуйте.
У меня проблема такого характера - мне нужно найти решение СЛАУ (методом квадратного корня) после чего вычислить вектор невязки таким образом:
К примеру размерность системы = 4.
К примеру я нашел решение: х1=3,55432011, х2=-0,12544932112022, х3=-1,4432, х4=0,5. (используется тип double).
Суть не в значениях найденного решения а в следующем:
теперь я подставляю найденные х-ы в систему и получаю какой-то результат.
Наприем первое уравнение было заданно так: 3*х1+12*х2-5*х3+х4 = 5,4
Так вот, подставив найденные х-ы в левую часть этого уравнения я получил (например) число 5,4333222990011133. То есть практически тоже самое, но немного все же другое. Теперь я вычитаю из этого числа число 5,4 для того, чтобы определить значение невязки первого уравнения. И ТУТ!!!!!!! вдруг, при выводе на экран результата этой операции, я вижу абсолютно непонятное мне число, к примеру такое: -3,3444555348293235623Е -34. Вот это мне не нравится и я не понимаю откуда оно берется и как мне получить нормальный результат с которым я мог бы дальше работать.
Возможно его нужно как-то округлять, какими-то стандартными функциями или еще как-то.. Помогитепожалуйста.. Застрял на этом, казалось бы, простом моменте.. Но его ничего не могу понять.. что это за число? мне хотелось бы более конкретное значение...
Заранее БОЛЬШОЕ СПАСИБО!
PS: пишу на С++ Билдере 6.0
...
Рейтинг: 0 / 0
Помогите!!! что делать с этим числом.... (((
    #33668622
muk07
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
5,4333222990011133-5,4=0,0333222990011133 а не -3,3444555348293235623Е -34.
Если же Вы наблюдаете -3,3444555348293235623Е -34, то это странно.
Пристегните исходный текст *.bpr;*.cpp;*.h, и саму систему уравнений, иначе навряд ли Вам смогут помочь.
...
Рейтинг: 0 / 0
Помогите!!! что делать с этим числом.... (((
    #33669134
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А чем тебе непонятно число
-3,3444555348293235623Е -34 ?

Мне например все приведенные тобой числа равнонепонятны...
...
Рейтинг: 0 / 0
Помогите!!! что делать с этим числом.... (((
    #33669170
_shumer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Никаких советов без анализа кода давать я думаю не следует.
Выложите код, тогда можно будет думать.
...
Рейтинг: 0 / 0
Помогите!!! что делать с этим числом.... (((
    #33669259
Хорошо! Сейчас выложить не смогу, завтра выложу.. Посмотрите пожалуйста.. буду Очень признателен.
...
Рейтинг: 0 / 0
Помогите!!! что делать с этим числом.... (((
    #33670327
Борманнн
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да че здеся гадать-то : арифметика плавающей точки, ну и все вытекающие последствия...
Решение: 1) отказ от арифметики с плавающей точкой (изобретение своего супер-пупер навороченного лисапеда, реализующего операции с дробными числами)
2) производить округление результата до необходимой точности

З.Ы. Здря вообще этот double придумали (IMHO), т.к. проблем от него больше чем пользы...
...
Рейтинг: 0 / 0
Помогите!!! что делать с этим числом.... (((
    #33675469
Борманнн
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кто осилит следующее:
нужно числу типа double присвоить значение 3024.1935
т.е.
Код: plaintext
double nVal= 3024 . 1935 ;
Потом глядим в отладчике на значение...
У меня почему-то получается 3024.19349999999...
Вот вам и двойная точность...
...
Рейтинг: 0 / 0
Помогите!!! что делать с этим числом.... (((
    #33675661
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БорманннВот вам и двойная точность...Интересно, а чего ты ждал ?
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Помогите!!! что делать с этим числом.... (((
    #33676101
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БорманннКто осилит следующее:
нужно числу типа double присвоить значение 3024.1935
т.е.
Код: plaintext
double nVal= 3024 . 1935 ;
Потом глядим в отладчике на значение...
У меня почему-то получается 3024.19349999999...
Вот вам и двойная точность...

Есстественно. Ошибка должна быть на несколько порядков меньше, чем при обычной точности. Вот, я смотрю, в твоем пример совсем маленькая ошибка
...
Рейтинг: 0 / 0
Помогите!!! что делать с этим числом.... (((
    #33678458
Борманнн
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Карабас Барабас БорманннВот вам и двойная точность...Интересно, а чего ты ждал ?
Posted via ActualForum NNTP Server 1.3
Ты удивисся: 3024.1935!!!!
Я знаю, про эти проблемы с плавающей точкой, мне одно не понятно: на кой икс тогда нужен этот тип double?
Сейчас, возможно, пойдут возражения, типа, для большинства задач данный тип можно использовать. Хм, возможо, если задача статичная (не развивается, не модифицируется). Сам накололся на это дело. Все работало как часы. В один прекрасный момент стало необходимо повысить точность вычислений. В результате - все пришлось переделывать...
...
Рейтинг: 0 / 0
Помогите!!! что делать с этим числом.... (((
    #33678636
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Борманнн

Карабас Барабас БорманннВот вам и двойная точность...Интересно, а чего ты ждал ?


Ты удивисся: 3024.1935!!!!


Борман, тебе не хватает базовых знаний в области математики. Именно - рациональные и иррациональные числа. Почитай - поймешь, зачем double.
...
Рейтинг: 0 / 0
Помогите!!! что делать с этим числом.... (((
    #33681480
Борманнн
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да причем тута рац. и иррац. числа-то? Сам-то понял?
Если в двоичном виде число (ну например, то же 3024.1935 ) не представимо- какие тут рац и иррац. числа? Это двоичная арифметика...

З.Ы.
Рациона́льное число́ — число представляемое обыкновенной дробью , где m — целое число, n — натуральное число.
Иррациона́льное число́ это вещественное число, которое не является рациональным
...
Рейтинг: 0 / 0
Помогите!!! что делать с этим числом.... (((
    #33681853
muk07
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БорманИррациона́льное число́ это вещественное число, которое не является рациональным
корень из 2 - иррациональное
PI - трансцедентное
...
Рейтинг: 0 / 0
Помогите!!! что делать с этим числом.... (((
    #33681934
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БорманннДа причем тута рац. и иррац. числа-то?

Рациональное число в одной системе счисления не обязательно будет рациональным в другой системе счисления.
...
Рейтинг: 0 / 0
Помогите!!! что делать с этим числом.... (((
    #33681955
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv БорманннДа причем тута рац. и иррац. числа-то?

Рациональное число в одной системе счисления не обязательно будет рациональным в другой системе счисления.

Глубоко

Но верно только для систем счисления с не натуральным основанием (единичку не рассматриваем)
...
Рейтинг: 0 / 0
Помогите!!! что делать с этим числом.... (((
    #33682084
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)Но верно только для систем счисления с не натуральным основанием (единичку не рассматриваем)ээээ не рациональным наверное ?
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Помогите!!! что делать с этим числом.... (((
    #33682163
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Рациональное - представимое в виде отношения натурального числителя и знаменателя

Натуральное - 1,2,3,4,...

Давайте будем точны в определениях
...
Рейтинг: 0 / 0
Помогите!!! что делать с этим числом.... (((
    #33682204
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan) GK> Рациональное - представимое в виде отношения натурального
GK> числителя и знаменателя

GK> Натуральное - 1,2,3,4,...

GK> Давайте будем точны в определениях
Ну дак и я о том же. Вот к примеру число PI. В системе с основанием PI (нерациональное основание) оно будет 1, т.е. 1/1, стало быть рациональным. А в системе с основанием 3.1 (рациональное основание) оно все же останется иррациональным
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Помогите!!! что делать с этим числом.... (((
    #33682425
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)Но верно только для систем счисления с не натуральным основанием

а я что сказал ?
...
Рейтинг: 0 / 0
Помогите!!! что делать с этим числом.... (((
    #33682455
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)а я что сказал ?Найди 10 отличий: натуральное и рациональное
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Помогите!!! что делать с этим числом.... (((
    #33682488
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вот это уже надо доказывать математически :)
...
Рейтинг: 0 / 0
Помогите!!! что делать с этим числом.... (((
    #33682555
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)А вот это уже надо доказывать математически :)Строго говоря - да, согласен
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Помогите!!! что делать с этим числом.... (((
    #33684750
Борманнн
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZiv БорманннДа причем тута рац. и иррац. числа-то?

Рациональное число в одной системе счисления не обязательно будет рациональным в другой системе счисления.
Ну хорошо, при переводе в двоичную систему счисления данное число будет иррациональным, и что ? double -то зачем? Чтобы показать иррациональность десятичных чисел в двоичной системе счисления? А я полагал, что его необходимость обусловлена операциями с нецелыми (вещественными) числами... А т.к. результаты этих операций, мягко говоря, не совсем соответствуют ожидаемым (в силу "иррациональности" представления), то напрашивается вопрос: а зачем использовать данный тип, если в результате (не всегда, конечно) получается не весть что? Я же не буду объяснять пользователю моей программы, что дескать, понимаете, результат немного отличается от нужного в силу непредставимости чисел (их иррац.) в двоичной системе счисления. Или предложу им (пользователям) все данные вводить (получать) в двоичной (ну или в 16-ричной ) системе. Да пошлют меня подальше с такими объяснениями и предложениями- и будут правы! Увы, большинство населения привыкло к десятичной системе счисления... Поэтому double фтопку- и изобретать свой лисапед...
...
Рейтинг: 0 / 0
Помогите!!! что делать с этим числом.... (((
    #33684820
Фотография v6y
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Борманнн MasterZiv БорманннДа причем тута рац. и иррац. числа-то?

Рациональное число в одной системе счисления не обязательно будет рациональным в другой системе счисления.
Ну хорошо, при переводе в двоичную систему счисления данное число будет иррациональным, и что ? double -то зачем? Чтобы показать иррациональность десятичных чисел в двоичной системе счисления? А я полагал, что его необходимость обусловлена операциями с нецелыми (вещественными) числами... А т.к. результаты этих операций, мягко говоря, не совсем соответствуют ожидаемым (в силу "иррациональности" представления), то напрашивается вопрос: а зачем использовать данный тип, если в результате (не всегда, конечно) получается не весть что? Я же не буду объяснять пользователю моей программы, что дескать, понимаете, результат немного отличается от нужного в силу непредставимости чисел (их иррац.) в двоичной системе счисления. Или предложу им (пользователям) все данные вводить (получать) в двоичной (ну или в 16-ричной ) системе. Да пошлют меня подальше с такими объяснениями и предложениями- и будут правы! Увы, большинство населения привыкло к десятичной системе счисления... Поэтому double фтопку- и изобретать свой лисапед...
В вашем случае погрешность будет 0.0000000000...1 Для подавляющего большинства задач этого более чем достаточно. Сомневаюсь, что вы сможете изобрести "лисапед" дающий такую же точность с такой же скоростью.
...
Рейтинг: 0 / 0
Помогите!!! что делать с этим числом.... (((
    #33684855
Борманнн
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
v6y
В вашем случае погрешность будет 0.0000000000...1 Для подавляющего большинства задач этого более чем достаточно. Сомневаюсь, что вы сможете изобрести "лисапед" дающий такую же точность с такой же скоростью.
Уже слышали это...
Есть такое понятие, как промежуточные результаты.Дык вот, когда в промежуточных результатах стоит (к примеру) наше "магическое" число 3024.1935 , а в машине оно хранится как 3024.19349999..., то при проведении нескольких сотен,(тысяч,миллионов) итераций с применением различных арифметических операций с этим (ну и с другими подобными числами), с формированием таких же промежуточных результатов, в итоге мы можем получить погрешность. А если точность еще более большая- то и погрешность будет большей. Т.е. повезет- не повезет...
А лисапед простой- использование целых чисел и целочисленной арифметики (скорость при этом, согласен, теряется: ну а что делать?)
...
Рейтинг: 0 / 0
25 сообщений из 70, страница 1 из 3
Форумы / C++ [игнор отключен] [закрыт для гостей] / Помогите!!! что делать с этим числом.... (((
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]