Преобразователь Integer to Float

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

Преобразователь Integer to Float

#1

Сообщение Rovki » 24.12.2017{, 00:48}

Есть ли такой преобразователь типов ?
Электронщик до мозга костей и не только

Аватара пользователя
Nikan
Майор
Сообщения: 1129
Зарегистрирован: 29.12.2016{, 00:49}
Репутация: 87
Откуда: москва

Преобразователь Integer to Float

#2

Сообщение Nikan » 24.12.2017{, 01:32}

Rovki писал(а):Есть ли такой преобразователь типов
делить на 10.0 (или 100.0 в зависимости сколько знаков надо после запятой) результат в переменную флоат

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

Преобразователь Integer to Float

#3

Сообщение Rovki » 24.12.2017{, 10:01}

Nikan писал(а):делить на 10.0 (или 100.0 в зависимости сколько знаков надо после запятой) результат в переменную флоат
Хитро ,спасибо.
Электронщик до мозга костей и не только

Аватара пользователя
kipiaxxx
Рядовой
Сообщения: 74
Зарегистрирован: 06.09.2015{, 14:15}
Репутация: 12
Откуда: Омск
Имя: Сергей

Преобразователь Integer to Float

#4

Сообщение kipiaxxx » 24.12.2017{, 12:16}

Nikan писал(а):делить на 10.0 (или 100.0 в зависимости сколько знаков надо после запятой) результат в переменную флоат
Где-то читал, что для выполнения операции деления МК требуется больше времени и оперативной памяти, чем для умножения. Поэтому лучше будет число в Integer умножать на Float 0.1, 0.01 ...

Аватара пользователя
Nikan
Майор
Сообщения: 1129
Зарегистрирован: 29.12.2016{, 00:49}
Репутация: 87
Откуда: москва

Преобразователь Integer to Float

#5

Сообщение Nikan » 24.12.2017{, 12:43}

kipiaxxx писал(а):умножать на Float 0.1, 0.01 ...
по затратности  вычислительных ресурсов   это одно и то же

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

Преобразователь Integer to Float

#6

Сообщение Rovki » 24.12.2017{, 14:05}

А есть ли SCALE для флоат ?
Электронщик до мозга костей и не только

Аватара пользователя
Nikan
Майор
Сообщения: 1129
Зарегистрирован: 29.12.2016{, 00:49}
Репутация: 87
Откуда: москва

Преобразователь Integer to Float

#7

Сообщение Nikan » 24.12.2017{, 14:18}

Rovki писал(а):А есть ли SCALE для флоат
штатного блока нет, принципиально возможно
маленькая ремарка - операции с типом флоат очень тяжелые, если нет необходимости (как например пид регулятор) лучше в программе работать с целыми числами. а флоат использовать как конечный результат - например для вывода на жки

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

Преобразователь Integer to Float

#8

Сообщение Rovki » 24.12.2017{, 15:11}

Nikan писал(а):а флоат использовать как конечный результат - например для вывода на жки
Весь проект с флоатами и модбасом выполняется около 4мс (цикл программы) .
Вложения
4680176.jpg
Последний раз редактировалось Rovki 24.12.2017{, 15:13}, всего редактировалось 1 раз.
Электронщик до мозга костей и не только

Аватара пользователя
Nikan
Майор
Сообщения: 1129
Зарегистрирован: 29.12.2016{, 00:49}
Репутация: 87
Откуда: москва

Преобразователь Integer to Float

#9

Сообщение Nikan » 24.12.2017{, 15:41}

Rovki писал(а):Весь проект с флоатами и модбасом выполняется около 4мс
тут все зависит от решаемой задачи )
плата 2 делить надо на 1000.0 и умножать 20.0
т.е если флоат используете указывайте дробную часть числа, даже если это 0 после запятой.

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

Преобразователь Integer to Float

#10

Сообщение Rovki » 24.12.2017{, 15:57}

Nikan писал(а):т.е если флоат используете указывайте дробную часть числа, даже если это 0 после запятой.
И это буде определять количество знаков в дробной части ???
Это я масштабирую вход для тока 4-20ма . Чтобы при 20ма был код 1000 ,а при 4ма был код 200 ,тогда возможно вылавливать замыкание и обрыв датчика
Последний раз редактировалось Rovki 24.12.2017{, 16:01}, всего редактировалось 1 раз.
Электронщик до мозга костей и не только

Аватара пользователя
Nikan
Майор
Сообщения: 1129
Зарегистрирован: 29.12.2016{, 00:49}
Репутация: 87
Откуда: москва

Преобразователь Integer to Float

#11

Сообщение Nikan » 24.12.2017{, 17:14}

Rovki писал(а):И это буде определять количество знаков в дробной части ???
нет это только   для правильности  вычислений.
АЦП может измерить только напряжение, все остальное получают  расчетом (закон ома)
количество знаков - -
ацп выдаст код соответствующий приложенному напряжению на входе. (относительно опорного напряжения, в ардуине по умолчанию это напряжение питания)
0v -код 0
5v - код 1023
затем код надо привести к напряжению (блок scale)
если масштабировать так то на выходе блока будут цифры 0/1/2/3/4/5

если принять при масштабировании что
0 -0
50 -1023
то на выходе будет от 0 до 50, разделив на 10.0 получите одно значение после запятой.

если принять при масштабировании что
0 -0
500 -1023
то на выходе будет от 0 до 500, разделив на 100.0 получите два значения после запятой.

можно пойти другим путем  - опорное напряжение разделить на разрешение АЦП  5/1024= 0,0049
те 1 единица ацп равна 0,0049v
затем показания ацп умножить на 0,0049 получим сразу напряжение на входе.

Гость

Преобразователь Integer to Float

#12

Сообщение Гость » 24.12.2017{, 17:19}

kipiaxxx писал(а):Где-то читал, что для выполнения операции деления МК требуется больше времени и оперативной памяти, чем для умножения. Поэтому лучше будет число в Integer умножать на Float 0.1, 0.01 ...
А что мешает прибавить 0(float)?
Это бессмыслица ,конечно , но ответ на поставленный вопрос будет выполнен...
Последний раз редактировалось Anydy 24.12.2017{, 17:30}, всего редактировалось 1 раз.

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

Преобразователь Integer to Float

#13

Сообщение Rovki » 24.12.2017{, 17:32}

Nikan писал(а):нет это только   для правильности  вычислений.
Я задал без запятой константы и считает правильно..
Электронщик до мозга костей и не только

Аватара пользователя
Nikan
Майор
Сообщения: 1129
Зарегистрирован: 29.12.2016{, 00:49}
Репутация: 87
Откуда: москва

Преобразователь Integer to Float

#14

Сообщение Nikan » 24.12.2017{, 17:46}

Rovki писал(а):Я задал без запятой константы и считает правильно..
и палка раз в год стреляет....

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

Преобразователь Integer to Float

#15

Сообщение Rovki » 24.12.2017{, 18:55}

И в овен лоджик так же -такой же синтаксис .можно задавать флоат без запятой если число целое (но тип флоат)
Электронщик до мозга костей и не только

Аватара пользователя
Nikan
Майор
Сообщения: 1129
Зарегистрирован: 29.12.2016{, 00:49}
Репутация: 87
Откуда: москва

Преобразователь Integer to Float

#16

Сообщение Nikan » 24.12.2017{, 19:47}

Rovki писал(а):И в овен лоджик так же -такой же синтаксис
можно,за вас это сделает компилятор,
но правильно указывать явным образом, так же как и первичную инициализацию переменных...

Аватара пользователя
Anydy
Администратор
Сообщения: 3272
Зарегистрирован: 30.12.2017{, 12:10}
Репутация: 278
Имя: Андрей

Преобразователь Integer to Float

#17

Сообщение Anydy » 24.12.2017{, 21:25}

Nikan писал(а):лучше в программе работать с целыми числами. а флоат использовать как конечный результат - например для вывода на жки
Очень полезная фраза!
Если бы здесь можно было бы делать цитаты от пользователей.....

Ответить

Вернуться в «Спросить у знатоков»