Вычисления двойной точности

Пользовательские блоки дополняющие возможности стандартных блоков из разделов Математика и Алгебра, а так-же различные цифровые фильтры
Правила форума
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
Ingwar
Полковник
Сообщения: 1929
Зарегистрирован: 28.10.2015{, 22:47}
Репутация: 223
Откуда: Ленобласть
Имя: Игорь

Вычисления двойной точности

#1

Сообщение Ingwar » 12.03.2023{, 09:35}

Блоки для вычислений точностью больше чем 7 разрядов (флоат).
Лучше использовать с 32-битными камнями.
Безымянный.png
математика double.ubl
(111.26 КБ) 23 скачивания
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.

Аватара пользователя
rw6cm
Полковник
Сообщения: 2284
Зарегистрирован: 06.09.2015{, 20:25}
Репутация: 335
Имя: Владимир

Вычисления двойной точности

#2

Сообщение rw6cm » 12.03.2023{, 10:35}

Ingwar писал(а):
12.03.2023{, 09:35}
Блоки для вычислений точностью больше чем 7 разрядов (флоат).
Скажите каким образом в флпрог можно подать на вход ваших блоков число больше 4-5х знаков после запятой?
И как посмотреть точность вычислений больше чем 7 разрядов на выходе?
Win10-64, FLProg (portable)

Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

Вычисления двойной точности

#3

Сообщение Dryundel » 12.03.2023{, 10:46}

rw6cm писал(а):
12.03.2023{, 10:35}
Скажите каким образом в флпрог можно подать на вход ваших блоков число больше 4х знаков после запятой?
И как его посмотреть на выходе?
Думаю можно через конвертер строк.

Меня заинтересовал другой вопрос.
Ingwar писал(а):
12.03.2023{, 09:35}
Лучше использовать с 32-битными камнями.
Что значит лучше? Может быть ТОЛЬКО?
Для AVR double то же самое, что float.

Аватара пользователя
rw6cm
Полковник
Сообщения: 2284
Зарегистрирован: 06.09.2015{, 20:25}
Репутация: 335
Имя: Владимир

Вычисления двойной точности

#4

Сообщение rw6cm » 12.03.2023{, 10:59}

Dryundel писал(а):
12.03.2023{, 10:46}
Думаю можно через конвертер строк.
Тогда проще сделать конвертер строк в double и не создавать кучу лишних переменных,
а блоки математики в флпрог не имеют своих переменных, и могут работать с любыми типами, даже с double.
Win10-64, FLProg (portable)

Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

Вычисления двойной точности

#5

Сообщение Dryundel » 12.03.2023{, 11:06}

rw6cm писал(а):
12.03.2023{, 10:59}
Тогда проще сделать конвертер строк в double и не создавать кучу лишних переменных,
Логично. Только не конвертер строк в double, а конвертер float в double и дальше обычными блоками математики пользоваться.
В противном случае надо еще и по всей алгебре такими блоками пробежаться.

Отправлено спустя 1 минуту 48 секунд:
И лучше сделать такой конвертер в PRO редакторе. Тогда вообще без лишних переменных обойдется.

Отправлено спустя 3 минуты 7 секунд:
А еще лучше, было бы, если бы Автор добавил недостающие типы переменных в FLProg в том числе еще и unsigned int.

Аватара пользователя
rw6cm
Полковник
Сообщения: 2284
Зарегистрирован: 06.09.2015{, 20:25}
Репутация: 335
Имя: Владимир

Вычисления двойной точности

#6

Сообщение rw6cm » 12.03.2023{, 11:16}

Dryundel писал(а):
12.03.2023{, 11:06}
а конвертер float в double
Дело в том что в флпрог есть ограничение (округление float) до "разумного" числа. Автор как то давно писал, что нет смысла от длинных чисел float если точность выше 6 знаков ни какая. Это было давно когда еще не было есп, но по ходу оно действует и сейчас.
Так что float больше 5 знаков ввести через флпрог не получится
Win10-64, FLProg (portable)

Ingwar
Полковник
Сообщения: 1929
Зарегистрирован: 28.10.2015{, 22:47}
Репутация: 223
Откуда: Ленобласть
Имя: Игорь

Вычисления двойной точности

#7

Сообщение Ingwar » 12.03.2023{, 11:18}

rw6cm писал(а):
12.03.2023{, 10:35}
Скажите каким образом в флпрог можно подать на вход ваших блоков число больше 4-5х знаков после запятой?
Ну вообще то разрядность это не числа после запятой...
rw6cm писал(а):
12.03.2023{, 10:35}
И как посмотреть точность вычислений больше чем 7 разрядов на выходе?
Не понял вопроса.
Если блок не будет работать, то так и напишите, я вообще в этом не шарю... Че нападать то стразу с "подковыристыми" вопросами :shok:
Сделал как понимаю :smile44:
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.

Аватара пользователя
rw6cm
Полковник
Сообщения: 2284
Зарегистрирован: 06.09.2015{, 20:25}
Репутация: 335
Имя: Владимир

Вычисления двойной точности

#8

Сообщение rw6cm » 12.03.2023{, 11:25}

Dryundel писал(а):
12.03.2023{, 11:11}
И лучше сделать такой конвертер в PRO редакторе. Тогда вообще без лишних переменных обойдется.
Такой делал Здесь но отдельно его не выкладывал т.к не увидел возможности его применения.

Отправлено спустя 8 минут 16 секунд:
Ingwar писал(а):
12.03.2023{, 11:18}
Если блок не будет работать, то так и напишите, я вообще в этом не шарю... Че нападать то стразу с "подковыристыми" вопросами
Не каких подковырестых вопросов, я как "начинающий пользователь" спросил простой вопрос, как подать на вход double?
или хотя бы где и как Вы их применяли?
Win10-64, FLProg (portable)

Ingwar
Полковник
Сообщения: 1929
Зарегистрирован: 28.10.2015{, 22:47}
Репутация: 223
Откуда: Ленобласть
Имя: Игорь

Вычисления двойной точности

#9

Сообщение Ingwar » 12.03.2023{, 11:38}

rw6cm писал(а):
12.03.2023{, 11:33}
я как "начинающий пользователь" спросил простой вопрос как подать на вход double?
не...
я про это
rw6cm писал(а):
12.03.2023{, 10:35}
И как посмотреть точность вычислений больше чем 7 разрядов на выходе?
а про то, что можно подать - вопрос к Автору)
Задачу ставил именно в повышении точности математической операции.
То, что на выходе мы можем потерять необходимые знаки после запятой уже не моя вина, точнее как это избежать - я не умею...
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.

Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

Вычисления двойной точности

#10

Сообщение Dryundel » 12.03.2023{, 11:41}

Ingwar писал(а):
12.03.2023{, 11:18}
Че нападать то стразу с "подковыристыми" вопросами
Ни кто особо не нападает. Это так, размышления в слух от rw6cm. :)
Ingwar писал(а):
12.03.2023{, 11:18}
Сделал как понимаю
:smile9:
Необходимость в более точных вычислениях и в типе double, назрела уже давно. Жаль что приходится применять костыли для этого.
rw6cm писал(а):
12.03.2023{, 11:16}
Дело в том что в флпрог есть ограничение (округление float) до "разумного" числа.
Есть такая беда. Ввести больше 5 знаков никак. Но получить в процессе вычисления можно.

Ну и конечно же Вы оказались прозорливей.
rw6cm писал(а):
12.03.2023{, 10:59}
Тогда проще сделать конвертер строк в double
Так можно будет ввести и 15 знаков для double.

Ingwar
Полковник
Сообщения: 1929
Зарегистрирован: 28.10.2015{, 22:47}
Репутация: 223
Откуда: Ленобласть
Имя: Игорь

Вычисления двойной точности

#11

Сообщение Ingwar » 12.03.2023{, 11:42}

Если я правильно понял ограничения программы, то например, если у нас результат вычислений равен 1,23456789 то мы теряем какие то цифры после запятой, а если 1234567,89 то верный расчет получим без потерь.

Отправлено спустя 2 минуты 23 секунды:
И хорош тут "умничать" :smile110:
Вы многое сделали для пользователей, сделайте еще одно доброе дело.
Карма вас не забудет :yes:
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.

Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

Вычисления двойной точности

#12

Сообщение Dryundel » 12.03.2023{, 11:45}

Ingwar писал(а):
12.03.2023{, 11:42}
Если я правильно понял ограничения программы, то например, если у нас результат вычислений равен 1,23456789 то мы теряем какие то цифры после запятой
Нет. Не в этом ограничение. Попробуйте создать переменную с константой или ввести константу на вход какого нибудь блока. Лишние знаки обрежутся.

Ingwar
Полковник
Сообщения: 1929
Зарегистрирован: 28.10.2015{, 22:47}
Репутация: 223
Откуда: Ленобласть
Имя: Игорь

Вычисления двойной точности

#13

Сообщение Ingwar » 12.03.2023{, 11:47}

Dryundel писал(а):
12.03.2023{, 11:45}
Нет. Не в этом ограничение. Попробуйте создать переменную с константой или ввести константу на вход какого нибудь блока. Лишние знаки обрежутся.
Я про ограничения применимо к своим блокам.
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.

Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

Вычисления двойной точности

#14

Сообщение Dryundel » 12.03.2023{, 11:49}

Ingwar писал(а):
12.03.2023{, 11:47}
Я про ограничения применимо к своим блокам.
Ну вот и попробуйте ввести на вход вашего блока 0.123456789. Станут понятны ограничения.

Аватара пользователя
rw6cm
Полковник
Сообщения: 2284
Зарегистрирован: 06.09.2015{, 20:25}
Репутация: 335
Имя: Владимир

Вычисления двойной точности

#15

Сообщение rw6cm » 12.03.2023{, 11:51}

Ingwar писал(а):
12.03.2023{, 11:47}
Я про ограничения применимо к своим блокам.
Смысла от блоков нет, если мы не можем работать с такими числами.
2023_03_12_11_30_26_COM3.png
Win10-64, FLProg (portable)

Ingwar
Полковник
Сообщения: 1929
Зарегистрирован: 28.10.2015{, 22:47}
Репутация: 223
Откуда: Ленобласть
Имя: Игорь

Вычисления двойной точности

#16

Сообщение Ingwar » 12.03.2023{, 11:52}

Dryundel писал(а):
12.03.2023{, 11:49}
Ну вот и попробуйте ввести на вход вашего блока 0.123456789. Станут понятны ограничения.
Андрей, это уже настораживает...
Привычка читать посты по диагонали :smile390:

Отправлено спустя 1 минуту 18 секунд:
rw6cm писал(а):
12.03.2023{, 11:51}
Смысла от блоков нет, если мы не можем работать с такими числами.
перенесите запятую вправо на 7 знаков
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.

Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

Вычисления двойной точности

#17

Сообщение Dryundel » 12.03.2023{, 12:01}

Ingwar писал(а):
12.03.2023{, 11:53}
перенесите запятую вправо на 7 знаков
А какой смысл тогда вообще связываться с плавающей точкой?
Перенесите запятую на 15 знаков и вот уже целочисленное вычисление, которое легче и быстрей.

Ingwar
Полковник
Сообщения: 1929
Зарегистрирован: 28.10.2015{, 22:47}
Репутация: 223
Откуда: Ленобласть
Имя: Игорь

Вычисления двойной точности

#18

Сообщение Ingwar » 12.03.2023{, 12:12}

Dryundel, rw6cm, признаю - обрезали вы мне крылья, в этом виде ПБ бессмыслены...

Отправлено спустя 1 минуту 10 секунд:
И как теперь сука с этим жить :smile453:
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.

Аватара пользователя
rw6cm
Полковник
Сообщения: 2284
Зарегистрирован: 06.09.2015{, 20:25}
Репутация: 335
Имя: Владимир

Вычисления двойной точности

#19

Сообщение rw6cm » 12.03.2023{, 12:19}

Ingwar писал(а):
12.03.2023{, 11:53}
перенесите запятую вправо на 7 знаков
Вы сами посмотрите что будет :smile469:
2023_03_12_12_14_26_COM3.png
Сравнение вычислений float double.flp
(599.73 КБ) 16 скачиваний
Win10-64, FLProg (portable)

Ingwar
Полковник
Сообщения: 1929
Зарегистрирован: 28.10.2015{, 22:47}
Репутация: 223
Откуда: Ленобласть
Имя: Игорь

Вычисления двойной точности

#20

Сообщение Ingwar » 12.03.2023{, 12:26}

rw6cm писал(а):
12.03.2023{, 12:19}
Вы сами посмотрите что будет
Но стоит записать результат расчета в перемененную Flprog, то карета превращается в тыкву :smile113:
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.

Ответить

Вернуться в «Блоки для рассчетов и цифровые фильтры»