Преобразование Integer в Float

Пользовательские блоки для конвертации различных типов данных, а так-же шифрования и дешифровки
Правила форума
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
Ответить
Ardudue
Лейтенант
Сообщения: 418
Зарегистрирован: 13 апр 2020, 18:22
Имя: Антон
Поблагодарили: 3 раза

Преобразование Integer в Float

Сообщение Ardudue »

Блок конвертации Float в Integer есть в FlProg ,а Integer в Float не нашёл.
Может кому пригодится. На вход можно и Byte подавать, но я не пробовал.
Преобразование_Integer_в_Float_(FBD).ubi
Вариант от [ref]Naladchik[/ref] в версии FlProg 8.2.3
int to float.flp
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось Ardudue 26 фев 2024, 08:22, всего редактировалось 1 раз.
Аватара пользователя
Rovki
Полковник
Сообщения: 5709
Зарегистрирован: 22 апр 2016, 17:25
Откуда: Чехов
Имя: Анатолий
Благодарил (а): 67 раз
Поблагодарили: 212 раз
Контактная информация:

Преобразование Integer в Float

Сообщение Rovki »

А можно просто умножить int на 1 float :smile44:
Электронщик до мозга костей и не только
Ardudue
Лейтенант
Сообщения: 418
Зарегистрирован: 13 апр 2020, 18:22
Имя: Антон
Поблагодарили: 3 раза

Преобразование Integer в Float

Сообщение Ardudue »

Rovki писал(а): 23 фев 2024, 20:54 А можно просто умножить int на 1 float
а тут вопрос? - на какие действия процессор затратит меньше ресурсов на сложение или на умножение...
Аватара пользователя
Phazz
Полковник
Сообщения: 3087
Зарегистрирован: 17 окт 2016, 15:38
Откуда: Сургут
Имя: Анатолий
Благодарил (а): 226 раз
Поблагодарили: 106 раз

Преобразование Integer в Float

Сообщение Phazz »

[ref]Ardudue[/ref], а какую задачу решает этот блок? То есть в каких случаях нельзя подать int на вход float?
Ardudue
Лейтенант
Сообщения: 418
Зарегистрирован: 13 апр 2020, 18:22
Имя: Антон
Поблагодарили: 3 раза

Преобразование Integer в Float

Сообщение Ardudue »

Phazz писал(а): 24 фев 2024, 10:08 в каких случаях нельзя подать int на вход float?
Блок PID регулятора не захотел работать когда на Set подал значение 300 в формате int. Работает только до 255.
Аватара пользователя
Rovki
Полковник
Сообщения: 5709
Зарегистрирован: 22 апр 2016, 17:25
Откуда: Чехов
Имя: Анатолий
Благодарил (а): 67 раз
Поблагодарили: 212 раз
Контактная информация:

Преобразование Integer в Float

Сообщение Rovki »

Ardudue писал(а): 24 фев 2024, 09:47
Rovki писал(а): 23 фев 2024, 20:54 А можно просто умножить int на 1 float
а тут вопрос? - на какие действия процессор затратит меньше ресурсов на сложение или на умножение...
Делал разные проекты и не заморачиваться с этим...
Электронщик до мозга костей и не только
Naladchik
Капитан
Сообщения: 908
Зарегистрирован: 04 окт 2015, 19:10
Откуда: Новосибирск
Имя: Павел
Благодарил (а): 20 раз
Поблагодарили: 22 раза

Преобразование Integer в Float

Сообщение Naladchik »

Ardudue писал(а): 24 фев 2024, 09:47 ... действия ... меньше ресурсов ...
Ну, если уж говорить про ресурсы, то стоит учитывать и то, что при использовании данного блока расходуется память области переменных на 2 избыточные переменные (как минимум 6 байт) .
Win10-64. FLProg Portable.
Изображение
Ardudue
Лейтенант
Сообщения: 418
Зарегистрирован: 13 апр 2020, 18:22
Имя: Антон
Поблагодарили: 3 раза

Преобразование Integer в Float

Сообщение Ardudue »

Naladchik писал(а): 24 фев 2024, 16:12 при использовании данного блока расходуется память области переменных на 2 избыточные переменные (как минимум 6 байт) .
искренне буду рад, если предложите своё решение, где уберете избыточные переменные :smile38:
Naladchik
Капитан
Сообщения: 908
Зарегистрирован: 04 окт 2015, 19:10
Откуда: Новосибирск
Имя: Павел
Благодарил (а): 20 раз
Поблагодарили: 22 раза

Преобразование Integer в Float

Сообщение Naladchik »

Ardudue писал(а): 25 фев 2024, 09:41 своё решение, где уберете избыточные переменные
int to float.flp
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Win10-64. FLProg Portable.
Изображение
Ardudue
Лейтенант
Сообщения: 418
Зарегистрирован: 13 апр 2020, 18:22
Имя: Антон
Поблагодарили: 3 раза

Преобразование Integer в Float

Сообщение Ardudue »

[ref]Naladchik[/ref], Ваш блок
Скетч использует 444 байт (1%) памяти устройства. Всего доступно 30720 байт.
Глобальные переменные используют 9 байт (0%) динамической памяти, оставляя 2039 байт для локальных переменных. Максимум: 2048 байт.

В ваш пример подставил мой блок
Скетч использует 444 байт (1%) памяти устройства. Всего доступно 30720 байт.
Глобальные переменные используют 9 байт (0%) динамической памяти, оставляя 2039 байт для локальных переменных. Максимум: 2048 байт.

Никакой разницы :smile469:
Naladchik
Капитан
Сообщения: 908
Зарегистрирован: 04 окт 2015, 19:10
Откуда: Новосибирск
Имя: Павел
Благодарил (а): 20 раз
Поблагодарили: 22 раза

Преобразование Integer в Float

Сообщение Naladchik »

Ardudue писал(а): 25 фев 2024, 13:40 Никакой разницы
В статике да, а при работе будет. Хоть и временно, но на эти переменные память выделять все равно придется.
Win10-64. FLProg Portable.
Изображение
Аватара пользователя
kulibinsvv
Лейтенант
Сообщения: 486
Зарегистрирован: 18 сен 2015, 10:04
Откуда: Омск
Благодарил (а): 3 раза
Поблагодарили: 5 раз

Преобразование Integer в Float

Сообщение kulibinsvv »

Не вижу необходимости в таком блоке. Задача решается простым умножением.

Отправлено спустя 4 минуты 36 секунд:
Ну, или сложением. Ориентироваться по обстановке.

Отправлено спустя 5 минут 36 секунд:
Попытка создать лишние сущности никогда не приводила к положительным результатам. В качестве примера могу привести широко известный perpetuum mobile.
Мой змей, этот ползучий соблазн сомнения,всё шевелится, побуждая «искать концы»... (Станислав Ермаков)
Ardudue
Лейтенант
Сообщения: 418
Зарегистрирован: 13 апр 2020, 18:22
Имя: Антон
Поблагодарили: 3 раза

Преобразование Integer в Float

Сообщение Ardudue »

Naladchik писал(а): 25 фев 2024, 14:13 В статике да, а при работе будет. Хоть и временно, но на эти переменные память выделять все равно придется.
добавил Ваш вариант в первое сообщение присутствующим на выбор :smile38:

Отправлено спустя 1 минуту 20 секунд:
kulibinsvv писал(а): 26 фев 2024, 06:05 Не вижу необходимости в таком блоке. Задача решается простым умножением.
Огород это хорошо :smile44:
Аватара пользователя
Phazz
Полковник
Сообщения: 3087
Зарегистрирован: 17 окт 2016, 15:38
Откуда: Сургут
Имя: Анатолий
Благодарил (а): 226 раз
Поблагодарили: 106 раз

Преобразование Integer в Float

Сообщение Phazz »

Ardudue писал(а): 26 фев 2024, 08:26 Попытка создать лишние сущности никогда не приводила к положительным результатам.
По сути лишняя математическая операция а тем более с флоат является лишней сущностью. Этот блок исправляет недостаток флпрог правильно, а не с помощью костылей. Без рс триггеров тоже можно спокойно обойтись. Но однако они есть. Так почему бы не быть этому блоку? Человек благодаря флпрог немного углубился в изучение c++, создал блок. Это же прекрасно. Сейчас простой блок запилил, потом что-то посложнее сделает и более полезное. А вы сразу по рукам бьёте.
Ответить

Вернуться в «Конвертация типов, шифраторы и дешифраторы»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя