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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.06.2024, 13:09   #31
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,725
По умолчанию

Цитата:
Сообщение от northener Посмотреть сообщение
что при сложении погрешность увеличивается
А при вычислении реального значения из целого счетчика при умножении/делении точность совсем не меняется...
p51x вне форума Ответить с цитированием
Старый 13.06.2024, 02:51   #32
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,888
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
А при вычислении реального значения из целого счетчика при умножении/делении точность совсем не меняется...
Похоже мы от нечего делать увлеклись рассуждениями о сферических конях в вакууме.

Погрешность при любых вычислениях конечно же увеличивается. Что при целочисленном счётчике, что при вещественном.
Но я до сих пор не увидел пользы от вещественного счетчика цикла. Кроме удобства для троешников.

Последний раз редактировалось northener; 13.06.2024 в 02:53.
northener вне форума Ответить с цитированием
Старый 13.06.2024, 08:15   #33
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,725
По умолчанию

Можно по простому:
Цитата:
1.
Код:
for(float I = 0; I < 1; I += 0.1f)
это одна вещественная команда
2.
Код:
for(int I = 0; I < 10; I += 1)
это, как минимум:
вычисление K для перевода целого счетчика в вещественное значение - один раз перед циклом, т.е. минимум вещественное деление
преобразование целого счетчика в вещественное и его пересылка в соответствующие регистры
умножение целого на К
т.е. по факту больше вещественных операций, не очевидные границы циклов, доп. коэфициенты, усложнения работы оптимизатору и т.д.
3. естественно, если вам хватает небольшой точности и вы используете эмуляцию "вещественого" в целых для всех расчетов, то можно сделать быстрее
p51x вне форума Ответить с цитированием
Старый 13.06.2024, 10:20   #34
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,595
По умолчанию

Цитата:
Сообщение от northener Посмотреть сообщение
Кроме удобства для троешников.
Это просто логично, что шаг цикла может быть как целым, так и вещественным. Спор вообще ни о чем...
Arigato вне форума Ответить с цитированием
Старый 13.06.2024, 11:55   #35
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,581
По умолчанию

Цитата:
Сообщение от Arigato Посмотреть сообщение
шаг цикла может быть как целым, так и вещественным
В теме про Delphi... И в цикле for - тоже?
С while - оно понятно.
digitalis вне форума Ответить с цитированием
Старый 13.06.2024, 15:35   #36
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,595
По умолчанию

Цитата:
Сообщение от digitalis Посмотреть сообщение
В теме про Delphi... И в цикле for - тоже?
...
Цитата:
Сообщение от Arigato Посмотреть сообщение
Это особенность конкретно Паскаля, что в циклах for возможен лишь шаг +/-1. В других ЯП можно задавать произвольный шаг цикла, в том числе и вещественный.
Arigato вне форума Ответить с цитированием
Старый 14.06.2024, 01:13   #37
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,888
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
это, как минимум:
вычисление K для перевода целого счетчика в вещественное значение - один раз перед циклом, т.е. минимум вещественное деление
преобразование целого счетчика в вещественное и его пересылка в соответствующие регистры
умножение целого на К
т.е. по факту больше вещественных операций, не очевидные границы циклов, доп. коэфициенты, усложнения работы оптимизатору и т.д.
3. естественно, если вам хватает небольшой точности и вы используете эмуляцию "вещественого" в целых для всех расчетов, то можно сделать быстрее
Извините, но вы вообще мимо.
Я говорил про другого сферического коня.
Цитата:
Сообщение от Arigato Посмотреть сообщение
Это просто логично, что шаг цикла может быть как целым, так и вещественным.
Логично. Может быть. Смотря для кого. Но тогда желательно бы научить компилятор определять какой вещественный шаг цикла можно записать в регистр процессора/ячейку памяти без потери точности. Иначе ваша модель будет врать. И ракеты продолжат падать (с).
northener вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Будет ли работать данный код?Что он будет делать? Виталий2266 Общие вопросы Delphi 8 18.10.2018 17:26
Написать программу, с помощью которой изображение будет разбиваться по пикселям и будет создаваться матрица andrey4515 Помощь студентам 2 08.01.2014 18:44
Точка с координатами х, у будет находиться в заштрихованной области, написать выражение которое будет истинным для данного рис. Polina S1 Помощь студентам 1 31.10.2013 16:38