Segnetics

Вернуться   Segnetics > Форум Segnetics > SMLogix > SMArt

SMArt Разработка интерфейсов пользователя

Ответ
 
Опции темы Поиск в этой теме
Старый 23.09.2021, 17:51   #1
lokteff
Новичок
 
Регистрация: Nov 2015
Сообщения: 20
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ограничения LONG

Добрый день. Подскажите, пожалуйста, как ввести значение −2 147 483 648 в ограничение минимума для числа типа LONG? Спасибо.
Изображения
Тип файла: png LONG.png (27.9 Кбайт, 13 просмотров)
lokteff вне форума   Ответить с цитированием
Старый 23.09.2021, 18:04   #2
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 086
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: Ограничения LONG

Цитата:
Сообщение от lokteff Посмотреть сообщение
Добрый день. Подскажите, пожалуйста, как ввести значение −2 147 483 648 в ограничение минимума для числа типа LONG? Спасибо.
В СМАрте лонг представлен через промежуточный real. Числа больше миллиона и меньше миллиона не очень функциональны.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.

Последний раз редактировалось Ilya J., 24.09.2021 в 11:12
Arsie сейчас на форуме   Ответить с цитированием
Старый 23.09.2021, 18:20   #3
ATS
Senior Member
 
Регистрация: Aug 2013
Сообщения: 3 784
Благодарил(а): 12 раз(а)
Поблагодарили: 194 раз(а) в 190 сообщениях
По умолчанию Ответ: Ограничения LONG

Цитата:
Сообщение от lokteff Посмотреть сообщение
Добрый день. Подскажите, пожалуйста, как ввести значение −2 147 483 648 в ограничение минимума для числа типа LONG? Спасибо.
Вообще без проблем копипастом в нормальном представлении -2147483648.
Да и в Вашем но с нормальным знаком -2 147 483 648

Как отработают это вопрос
ATS вне форума   Ответить с цитированием
Старый 23.09.2021, 18:22   #4
lokteff
Новичок
 
Регистрация: Nov 2015
Сообщения: 20
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Ограничения LONG

Это нужно не для "функциональности числа", а для того, чтобы хранить все 32 бита из 32-х битного же числа. Оно приходит из программы, а не вводится пользователем. Просто сейчас старший бит отбрасывается, проходя через экран смарта. Решения не будет?
lokteff вне форума   Ответить с цитированием
Старый 23.09.2021, 18:25   #5
lokteff
Новичок
 
Регистрация: Nov 2015
Сообщения: 20
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Ограничения LONG

Цитата:
Сообщение от ATS Посмотреть сообщение
Вообще без проблем копипастом в нормальном представлении -2147483648.
Да и в Вашем но с нормальным знаком -2 147 483 648

Как отработают это вопрос
Отрезается последний знак при вставке.
Изображения
Тип файла: png LONG_2.png (24.4 Кбайт, 6 просмотров)
lokteff вне форума   Ответить с цитированием
Старый 23.09.2021, 18:26   #6
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 086
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: Ограничения LONG

Цитата:
Сообщение от lokteff Посмотреть сообщение
Это нужно не для "функциональности числа", а для того, чтобы хранить все 32 бита из 32-х битного же числа. Оно приходит из программы, а не вводится пользователем. Просто сейчас старший бит отбрасывается, проходя через экран смарта. Решения не будет?
Храните в блоках памяти, не мучайте СМАрт


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Старый 23.09.2021, 18:46   #7
ATS
Senior Member
 
Регистрация: Aug 2013
Сообщения: 3 784
Благодарил(а): 12 раз(а)
Поблагодарили: 194 раз(а) в 190 сообщениях
По умолчанию Ответ: Ограничения LONG

Цитата:
Сообщение от lokteff Посмотреть сообщение
Отрезается последний знак при вставке.
Не вижу
Безымянный.png

Цитата:
Это нужно не для "функциональности числа", а для того, чтобы хранить все 32 бита из 32-х битного же числа
Не получится - реально 8 десятичных разрядов.

Совет Арсения выше.

УПС! Смотрел не там. В Меню настроек точно не вводится.

Последний раз редактировалось ATS, 23.09.2021 в 18:57
ATS вне форума   Ответить с цитированием
Старый 23.09.2021, 18:54   #8
lokteff
Новичок
 
Регистрация: Nov 2015
Сообщения: 20
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Ограничения LONG

Цитата:
Сообщение от ATS Посмотреть сообщение
Не вижу
А какая у вас версия лоджика?
lokteff вне форума   Ответить с цитированием
Старый 23.09.2021, 19:15   #9
ATS
Senior Member
 
Регистрация: Aug 2013
Сообщения: 3 784
Благодарил(а): 12 раз(а)
Поблагодарили: 194 раз(а) в 190 сообщениях
По умолчанию Ответ: Ограничения LONG

Цитата:
Сообщение от lokteff Посмотреть сообщение
А какая у вас версия лоджика?
Да неважно.
Уже выше отмечал
Цитата:
Смотрел не там. В Меню настроек точно не вводится.
и Арсений правду говорит
Цитата:
В СМАрте лонг представлен через промежуточный real
И мантиссу обмануть никак не получится.
ATS вне форума   Ответить с цитированием
Старый 23.09.2021, 19:25   #10
lokteff
Новичок
 
Регистрация: Nov 2015
Сообщения: 20
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Ограничения LONG

Всем спасибо. Будем считать это "фичей". А число тогда разобьём на 2 инта.
lokteff вне форума   Ответить с цитированием
Старый 23.09.2021, 19:48   #11
ATS
Senior Member
 
Регистрация: Aug 2013
Сообщения: 3 784
Благодарил(а): 12 раз(а)
Поблагодарили: 194 раз(а) в 190 сообщениях
По умолчанию Ответ: Ограничения LONG

Цитата:
Сообщение от lokteff Посмотреть сообщение
Всем спасибо. Будем считать это "фичей". А число тогда разобьём на 2 инта.

А по нормальному никак?
ATS вне форума   Ответить с цитированием
Старый 23.09.2021, 20:35   #12
monstr696
Senior Member
 
Регистрация: Apr 2013
Адрес: Россия, Москва
Сообщения: 770
Благодарил(а): 8 раз(а)
Поблагодарили: 65 раз(а) в 60 сообщениях
По умолчанию Ответ: Ограничения LONG

Цитата:
Сообщение от ATS Посмотреть сообщение
А если через преобразование
long->real и потом real->long
Изображения
Тип файла: png 2021-09-23_19-31-32.png (4.3 Кбайт, 13 просмотров)
Тип файла: png 2021-09-23_19-32-34.png (42.4 Кбайт, 8 просмотров)


__________________
Саня
monstr696 вне форума   Ответить с цитированием
Старый 23.09.2021, 21:46   #13
lokteff
Новичок
 
Регистрация: Nov 2015
Сообщения: 20
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Ограничения LONG

Цитата:
Сообщение от ATS Посмотреть сообщение
Нормально - это относительное понятие. В нашем случае нормально - поделить на 2 инта.
lokteff вне форума   Ответить с цитированием
Старый 23.09.2021, 21:47   #14
lokteff
Новичок
 
Регистрация: Nov 2015
Сообщения: 20
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Ограничения LONG

Цитата:
Сообщение от monstr696 Посмотреть сообщение
А если через преобразование
long->real и потом real->long
Конечно же нет.
Изображения
Тип файла: png LONG_3.png (5.5 Кбайт, 29 просмотров)
lokteff вне форума   Ответить с цитированием
Старый 23.09.2021, 21:54   #15
lokteff
Новичок
 
Регистрация: Nov 2015
Сообщения: 20
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Ограничения LONG

Цитата:
Сообщение от Arsie Посмотреть сообщение
В СМАрте лог представлен через промежуточный real. Числа больше миллиона и меньше миллиона не очень функциональны.
В общем, как говорится, ваши ожидания - ваши проблемы.
Изображения
Тип файла: png LONG_4.png (35.2 Кбайт, 24 просмотров)
lokteff вне форума   Ответить с цитированием
Старый 23.09.2021, 22:29   #16
ATS
Senior Member
 
Регистрация: Aug 2013
Сообщения: 3 784
Благодарил(а): 12 раз(а)
Поблагодарили: 194 раз(а) в 190 сообщениях
По умолчанию Ответ: Ограничения LONG

Цитата:
Сообщение от lokteff Посмотреть сообщение
Просто сейчас старший бит отбрасывается, проходя через экран смарта.
На самом деле будет искажаться любое число имеющее больше семи десятичных разрядов.


Добавлено через 4 минуты


Цитата:
Сообщение от lokteff Посмотреть сообщение
В общем, как говорится, ваши ожидания - ваши проблемы.
ATS вне форума   Ответить с цитированием
Старый 24.09.2021, 11:23   #17
Ilya J.
Сотрудник Сегнетикс
 
Аватара для Ilya J.
 
Регистрация: Mar 2016
Адрес: SPb
Сообщения: 4 331
Благодарил(а): 0 раз(а)
Поблагодарили: 255 раз(а) в 251 сообщениях
По умолчанию Ответ: Ограничения LONG

Цитата:
Сообщение от lokteff Посмотреть сообщение
В общем, как говорится, ваши ожидания - ваши проблемы.
Зафиксировал, чтобы не было ложных ожиданий, #45577


__________________
Если ничто другое не помогает, прочтите, наконец, инструкцию
Ilya J. сейчас на форуме   Ответить с цитированием
Старый 24.09.2021, 11:29   #18
starmos
Senior Member
 
Регистрация: Jan 2013
Сообщения: 730
Благодарил(а): 22 раз(а)
Поблагодарили: 13 раз(а) в 12 сообщениях
По умолчанию Ответ: Ограничения LONG

Цитата:
Сообщение от ATS Посмотреть сообщение
На самом деле будет искажаться любое число имеющее больше семи десятичных разрядов.


Добавлено через 4 минуты


Интересно, почему именно больше 7? Не больше 5, или 15, а именно вот 7? Привязаться к максимальному целому числу, было бы хотя бы разумно. Но спасибо, что я хотя бы эту информацию не выяснил вдруг на объекте, а вот так гуманно в офисе.
starmos вне форума   Ответить с цитированием
Старый 24.09.2021, 11:42   #19
ATS
Senior Member
 
Регистрация: Aug 2013
Сообщения: 3 784
Благодарил(а): 12 раз(а)
Поблагодарили: 194 раз(а) в 190 сообщениях
По умолчанию Ответ: Ограничения LONG

Цитата:
Сообщение от starmos Посмотреть сообщение
Интересно, почему именно больше 7? Не больше 5, или 15, а именно вот 7?
А в 23(24) разряда мантиссы real (float32) больше не не влезет.
ATS вне форума   Ответить с цитированием
Старый 24.09.2021, 11:42   #20
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 086
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: Ограничения LONG

Цитата:
Сообщение от starmos Посмотреть сообщение
Интересно, почему именно больше 7? Не больше 5, или 15, а именно вот 7?
Википедия, float32.


Добавлено через 2 минуты


Цитата:
Сообщение от starmos Посмотреть сообщение
Но спасибо, что я хотя бы эту информацию не выяснил вдруг на объекте, а вот так гуманно в офисе.
В лоджике были ограничены пределы 6 знаками. Я проверил, похоже это ограничение куда-то "улыбнулось"...


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать свои сообщения

BB code is Вкл.
[IMG] код Вкл.
HTML код Выкл.



Часовой пояс GMT +4, время: 13:19.


Версия vBulletin: 3.8.7
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Segnetics 2005 - 2024