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

Integer в Float

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

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

#1

Сообщение Ardudue » 23.02.2024{, 11:09}

Блок конвертации Float в Integer есть в FlProg ,а Integer в Float не нашёл.
Может кому пригодится. На вход можно и Byte подавать, но я не пробовал.
Преобразование_Integer_в_Float_(FBD).ubi
(50.97 КБ) 50 скачиваний
Вариант от Naladchik в версии FlProg 8.2.3
int to float.flp
(126.52 КБ) 12 скачиваний
Последний раз редактировалось Ardudue 26.02.2024{, 08:22}, всего редактировалось 1 раз.

Аватара пользователя
Rovki
Полковник
Сообщения: 4875
Зарегистрирован: 22.04.2016{, 17:25}
Репутация: 269
Откуда: Чехов
Имя: Анатолий
Контактная информация:

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

#2

Сообщение Rovki » 23.02.2024{, 20:54}

А можно просто умножить int на 1 float :smile44:
Электронщик до мозга костей и не только

Ardudue
Лейтенант
Сообщения: 423
Зарегистрирован: 13.04.2020{, 18:22}
Репутация: 24
Имя: Антон

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

#3

Сообщение Ardudue » 24.02.2024{, 09:47}

Rovki писал(а):
23.02.2024{, 20:54}
А можно просто умножить int на 1 float
а тут вопрос? - на какие действия процессор затратит меньше ресурсов на сложение или на умножение...

Аватара пользователя
Phazz
Полковник
Сообщения: 2553
Зарегистрирован: 17.10.2016{, 15:38}
Репутация: 367
Откуда: Сургут
Имя: Анатолий

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

#4

Сообщение Phazz » 24.02.2024{, 10:08}

Ardudue, а какую задачу решает этот блок? То есть в каких случаях нельзя подать int на вход float?

Ardudue
Лейтенант
Сообщения: 423
Зарегистрирован: 13.04.2020{, 18:22}
Репутация: 24
Имя: Антон

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

#5

Сообщение Ardudue » 24.02.2024{, 12:56}

Phazz писал(а):
24.02.2024{, 10:08}
в каких случаях нельзя подать int на вход float?
Блок PID регулятора не захотел работать когда на Set подал значение 300 в формате int. Работает только до 255.

Аватара пользователя
Rovki
Полковник
Сообщения: 4875
Зарегистрирован: 22.04.2016{, 17:25}
Репутация: 269
Откуда: Чехов
Имя: Анатолий
Контактная информация:

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

#6

Сообщение Rovki » 24.02.2024{, 15:17}

Ardudue писал(а):
24.02.2024{, 09:47}
Rovki писал(а):
23.02.2024{, 20:54}
А можно просто умножить int на 1 float
а тут вопрос? - на какие действия процессор затратит меньше ресурсов на сложение или на умножение...
Делал разные проекты и не заморачиваться с этим...
Электронщик до мозга костей и не только

Naladchik
Капитан
Сообщения: 823
Зарегистрирован: 04.10.2015{, 19:10}
Репутация: 153
Откуда: Новосибирск
Имя: Павел

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

#7

Сообщение Naladchik » 24.02.2024{, 16:12}

Ardudue писал(а):
24.02.2024{, 09:47}
... действия ... меньше ресурсов ...
Ну, если уж говорить про ресурсы, то стоит учитывать и то, что при использовании данного блока расходуется память области переменных на 2 избыточные переменные (как минимум 6 байт) .
Win10-64. FLProg Portable.
Изображение

Ardudue
Лейтенант
Сообщения: 423
Зарегистрирован: 13.04.2020{, 18:22}
Репутация: 24
Имя: Антон

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

#8

Сообщение Ardudue » 25.02.2024{, 09:41}

Naladchik писал(а):
24.02.2024{, 16:12}
при использовании данного блока расходуется память области переменных на 2 избыточные переменные (как минимум 6 байт) .
искренне буду рад, если предложите своё решение, где уберете избыточные переменные :smile38:

Naladchik
Капитан
Сообщения: 823
Зарегистрирован: 04.10.2015{, 19:10}
Репутация: 153
Откуда: Новосибирск
Имя: Павел

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

#9

Сообщение Naladchik » 25.02.2024{, 12:52}

Ardudue писал(а):
25.02.2024{, 09:41}
своё решение, где уберете избыточные переменные
int to float.flp
(126.52 КБ) 26 скачиваний
Win10-64. FLProg Portable.
Изображение

Ardudue
Лейтенант
Сообщения: 423
Зарегистрирован: 13.04.2020{, 18:22}
Репутация: 24
Имя: Антон

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

#10

Сообщение Ardudue » 25.02.2024{, 13:40}

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

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

Никакой разницы :smile469:

Naladchik
Капитан
Сообщения: 823
Зарегистрирован: 04.10.2015{, 19:10}
Репутация: 153
Откуда: Новосибирск
Имя: Павел

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

#11

Сообщение Naladchik » 25.02.2024{, 14:13}

Ardudue писал(а):
25.02.2024{, 13:40}
Никакой разницы
В статике да, а при работе будет. Хоть и временно, но на эти переменные память выделять все равно придется.
Win10-64. FLProg Portable.
Изображение

Аватара пользователя
kulibinsvv
Лейтенант
Сообщения: 476
Зарегистрирован: 18.09.2015{, 10:04}
Репутация: 54
Откуда: Омск

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

#12

Сообщение kulibinsvv » 26.02.2024{, 05:55}

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

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

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

Ardudue
Лейтенант
Сообщения: 423
Зарегистрирован: 13.04.2020{, 18:22}
Репутация: 24
Имя: Антон

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

#13

Сообщение Ardudue » 26.02.2024{, 08:25}

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

Отправлено спустя 1 минуту 20 секунд:
kulibinsvv писал(а):
26.02.2024{, 06:05}
Не вижу необходимости в таком блоке. Задача решается простым умножением.
Огород это хорошо :smile44:

Аватара пользователя
Phazz
Полковник
Сообщения: 2553
Зарегистрирован: 17.10.2016{, 15:38}
Репутация: 367
Откуда: Сургут
Имя: Анатолий

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

#14

Сообщение Phazz » 26.02.2024{, 17:19}

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

Ответить

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