Страница 1 из 3
Вычисления двойной точности
Добавлено: 12.03.2023{, 09:35}
Ingwar
Блоки для вычислений точностью больше чем 7 разрядов (флоат).
Лучше использовать с 32-битными камнями.
Вычисления двойной точности
Добавлено: 12.03.2023{, 10:35}
rw6cm
Ingwar писал(а): ↑12.03.2023{, 09:35}
Блоки для вычислений точностью больше чем 7 разрядов (флоат).
Скажите каким образом в флпрог можно подать на вход ваших блоков число больше 4-5х знаков после запятой?
И как посмотреть точность вычислений больше чем 7 разрядов на выходе?
Вычисления двойной точности
Добавлено: 12.03.2023{, 10:46}
Dryundel
rw6cm писал(а): ↑12.03.2023{, 10:35}
Скажите каким образом в флпрог можно подать на вход ваших блоков число больше 4х знаков после запятой?
И как его посмотреть на выходе?
Думаю можно через конвертер строк.
Меня заинтересовал другой вопрос.
Ingwar писал(а): ↑12.03.2023{, 09:35}
Лучше использовать с 32-битными камнями.
Что значит лучше? Может быть
ТОЛЬКО?
Для AVR double то же самое, что float.
Вычисления двойной точности
Добавлено: 12.03.2023{, 10:59}
rw6cm
Dryundel писал(а): ↑12.03.2023{, 10:46}
Думаю можно через конвертер строк.
Тогда проще сделать конвертер строк в double и не создавать кучу лишних переменных,
а блоки математики в флпрог не имеют своих переменных, и могут работать с любыми типами, даже с double.
Вычисления двойной точности
Добавлено: 12.03.2023{, 11:06}
Dryundel
rw6cm писал(а): ↑12.03.2023{, 10:59}
Тогда проще сделать конвертер строк в double и не создавать кучу лишних переменных,
Логично. Только не конвертер строк в double, а конвертер float в double и дальше обычными блоками математики пользоваться.
В противном случае надо еще и по всей алгебре такими блоками пробежаться.
Отправлено спустя 1 минуту 48 секунд:
И лучше сделать такой конвертер в PRO редакторе. Тогда вообще без лишних переменных обойдется.
Отправлено спустя 3 минуты 7 секунд:
А еще лучше, было бы, если бы Автор добавил недостающие типы переменных в FLProg в том числе еще и unsigned int.
Вычисления двойной точности
Добавлено: 12.03.2023{, 11:16}
rw6cm
Dryundel писал(а): ↑12.03.2023{, 11:06}
а конвертер float в double
Дело в том что в флпрог есть ограничение (округление float) до "разумного" числа. Автор как то давно писал, что нет смысла от длинных чисел float если точность выше 6 знаков ни какая. Это было давно когда еще не было есп, но по ходу оно действует и сейчас.
Так что float больше 5 знаков ввести через флпрог не получится
Вычисления двойной точности
Добавлено: 12.03.2023{, 11:18}
Ingwar
rw6cm писал(а): ↑12.03.2023{, 10:35}
Скажите каким образом в флпрог можно подать на вход ваших блоков число больше 4-5х знаков после запятой?
Ну вообще то разрядность это не числа после запятой...
rw6cm писал(а): ↑12.03.2023{, 10:35}
И как посмотреть точность вычислений больше чем 7 разрядов на выходе?
Не понял вопроса.
Если блок не будет работать, то так и напишите, я вообще в этом не шарю... Че нападать то стразу с "подковыристыми" вопросами
Сделал как понимаю
![ну извини... :smile44:](./images/smilies/smile44.gif)
Вычисления двойной точности
Добавлено: 12.03.2023{, 11:25}
rw6cm
Dryundel писал(а): ↑12.03.2023{, 11:11}
И лучше сделать такой конвертер в PRO редакторе. Тогда вообще без лишних переменных обойдется.
Такой делал
Здесь но отдельно его не выкладывал т.к не увидел возможности его применения.
Отправлено спустя 8 минут 16 секунд:
Ingwar писал(а): ↑12.03.2023{, 11:18}
Если блок не будет работать, то так и напишите, я вообще в этом не шарю... Че нападать то стразу с "подковыристыми" вопросами
Не каких подковырестых вопросов, я как "начинающий пользователь" спросил простой вопрос, как подать на вход double?
или хотя бы где и как Вы их применяли?
Вычисления двойной точности
Добавлено: 12.03.2023{, 11:38}
Ingwar
rw6cm писал(а): ↑12.03.2023{, 11:33}
я как "начинающий пользователь" спросил простой вопрос как подать на вход double?
не...
я про это
rw6cm писал(а): ↑12.03.2023{, 10:35}
И как посмотреть точность вычислений больше чем 7 разрядов на выходе?
а про то, что можно подать - вопрос к Автору)
Задачу ставил именно в повышении точности математической операции.
То, что на выходе мы можем потерять необходимые знаки после запятой уже не моя вина, точнее как это избежать - я не умею...
Вычисления двойной точности
Добавлено: 12.03.2023{, 11:41}
Dryundel
Ingwar писал(а): ↑12.03.2023{, 11:18}
Че нападать то стразу с "подковыристыми" вопросами
Ни кто особо не нападает. Это так, размышления в слух от
rw6cm.
Ingwar писал(а): ↑12.03.2023{, 11:18}
Сделал как понимаю
Необходимость в более точных вычислениях и в типе double, назрела уже давно. Жаль что приходится применять костыли для этого.
rw6cm писал(а): ↑12.03.2023{, 11:16}
Дело в том что в флпрог есть ограничение (округление float) до "разумного" числа.
Есть такая беда. Ввести больше 5 знаков никак. Но получить в процессе вычисления можно.
Ну и конечно же Вы оказались прозорливей.
rw6cm писал(а): ↑12.03.2023{, 10:59}
Тогда проще сделать конвертер строк в double
Так можно будет ввести и 15 знаков для double.
Вычисления двойной точности
Добавлено: 12.03.2023{, 11:42}
Ingwar
Если я правильно понял ограничения программы, то например, если у нас результат вычислений равен 1,23456789 то мы теряем какие то цифры после запятой, а если 1234567,89 то верный расчет получим без потерь.
Отправлено спустя 2 минуты 23 секунды:
И хорош тут "умничать"
Вы многое сделали для пользователей, сделайте еще одно доброе дело.
Карма вас не забудет
![Да :yes:](./images/smilies/ucoz_yes.gif)
Вычисления двойной точности
Добавлено: 12.03.2023{, 11:45}
Dryundel
Ingwar писал(а): ↑12.03.2023{, 11:42}
Если я правильно понял ограничения программы, то например, если у нас результат вычислений равен 1,23456789 то мы теряем какие то цифры после запятой
Нет. Не в этом ограничение. Попробуйте создать переменную с константой или ввести константу на вход какого нибудь блока. Лишние знаки обрежутся.
Вычисления двойной точности
Добавлено: 12.03.2023{, 11:47}
Ingwar
Dryundel писал(а): ↑12.03.2023{, 11:45}
Нет. Не в этом ограничение. Попробуйте создать переменную с константой или ввести константу на вход какого нибудь блока. Лишние знаки обрежутся.
Я про ограничения применимо к своим блокам.
Вычисления двойной точности
Добавлено: 12.03.2023{, 11:49}
Dryundel
Ingwar писал(а): ↑12.03.2023{, 11:47}
Я про ограничения применимо к своим блокам.
Ну вот и попробуйте ввести на вход вашего блока 0.123456789. Станут понятны ограничения.
Вычисления двойной точности
Добавлено: 12.03.2023{, 11:51}
rw6cm
Ingwar писал(а): ↑12.03.2023{, 11:47}
Я про ограничения применимо к своим блокам.
Смысла от блоков нет, если мы не можем работать с такими числами.
Вычисления двойной точности
Добавлено: 12.03.2023{, 11:52}
Ingwar
Dryundel писал(а): ↑12.03.2023{, 11:49}
Ну вот и попробуйте ввести на вход вашего блока 0.123456789. Станут понятны ограничения.
Андрей, это уже настораживает...
Привычка читать посты по диагонали
Отправлено спустя 1 минуту 18 секунд:
rw6cm писал(а): ↑12.03.2023{, 11:51}
Смысла от блоков нет, если мы не можем работать с такими числами.
перенесите запятую вправо на 7 знаков
Вычисления двойной точности
Добавлено: 12.03.2023{, 12:01}
Dryundel
Ingwar писал(а): ↑12.03.2023{, 11:53}
перенесите запятую вправо на 7 знаков
А какой смысл тогда вообще связываться с плавающей точкой?
Перенесите запятую на 15 знаков и вот уже целочисленное вычисление, которое легче и быстрей.
Вычисления двойной точности
Добавлено: 12.03.2023{, 12:12}
Ingwar
Dryundel,
rw6cm, признаю - обрезали вы мне крылья, в этом виде ПБ бессмыслены...
Отправлено спустя 1 минуту 10 секунд:
И как теперь сука с этим жить
![пытаюсь найти :smile453:](./images/smilies/smile453.gif)
Вычисления двойной точности
Добавлено: 12.03.2023{, 12:19}
rw6cm
Ingwar писал(а): ↑12.03.2023{, 11:53}
перенесите запятую вправо на 7 знаков
Вы сами посмотрите что будет
Вычисления двойной точности
Добавлено: 12.03.2023{, 12:26}
Ingwar
rw6cm писал(а): ↑12.03.2023{, 12:19}
Вы сами посмотрите что будет
Но стоит записать результат расчета в перемененную Flprog, то карета превращается в тыкву
![злой :smile113:](./images/smilies/smile113.gif)