Что нет?
........
Вид для печати
Ваши предложения, в смысле, какое должно быть значение, Вы наверно первую картинку посмотрели, на второй преобразование в INT32:
Вложение 74850
Если нет, может Вы какой другой код имели ввиду, кроме дополнительного кода бывает ещё прямой и обратный код, в одной из тем я макрос выкладывал, где тип кода можно выбирать!
Естественно. Если учесть время моего ответа и вашего добавления
Позже еще посмотрю
Сергей верхний макрос INT-FLOAT считает не правильно, скрин Вложение 74852 вот его модернизировал Вложение 74851
Перевод во FLOAT надо делать после вычитания, иначе теряется часть последних цифр. При чём на пределах -1 000 000, -10 000, -1000 разные цифры в конце.
Число 4294867296 это -100 000
Тогда и у Вас неправильно, потому что цифры совпадают с моими!
И Вы не макрос модернизировали(что Вы нарисовали), а сделали другой макрос, в смысле обратную функцию, я писал, что в проекте есть и обратная функция, в смысле преобразование INT_TO_FLOAT:
Вложение 74853
И, обратно значения совпадают с вашими, короче, Вы на этом основываете свои заключения, что неправильно считает?
И, почему то всем лень по ссылке перейти и посмотреть, короче, чтобы никого не утруждать кишки и этого макроса:
Вложение 74854
Почти 2 года назад выложил!
Прочитали бы пару строчек по ссылке, что я давал, что там написано:
Вложение 74855
Переписал функции на ST, теперь они подходят для INT и для DINT Вложение 74859
Посмотрел этот макрос, вот преобразование самого большого по модулю отрицательного числа:
Вложение 74863
Никакой погрешности там нет! Зачем было обманывать, мне не понятно в принципе!
Этот макрос для преобразования диапазона INT(INT16), для преобразования DINT(INT32) он не подходит!
Собственно для этого и усовершенствовал макрос, он чуть ниже, я его на скриншоте показывал(к которому у Вас претензий нет), он уже универсальный в смысле диапазона INT(INT16)/DINT(INT32), настройки в свойствах макроса!
Короче, не заметил настроек у вашего макроса, он универсальный или только диапазона DINT(INT32)?
Обычно используется диапазон INT(INT16), например во всех овенских ТРМ-ах!