Спасибо, работает!
Clipboard 1.jpg
Добрый день. Глупый вопрос. В OL есть тип данных как целочисленное. Занимает 1 регистр (16 бит). В руководстве написано, что максимальное число можно записать 4294967295. Но разве максимальное число для 16-битного целого это не 65536? Или в OL не обычный способ кодировки целочисленных? Спасибо
Да, по этому для передачи по сети целочисленную переменную нужно разбить на две части (старшую и младшую) и поместить в две сетевые переменные с соседними номерами
Захват-2.png
Последний раз редактировалось petera; 06.11.2019 в 12:23.
Мой канал на ютубе
https://www.youtube.com/c/ПетрАртюков
Мой канал на РУТУБЕ
https://rutube.ru/channel/23641433/
Библиотека ГМ для СП300
https://disk.yandex.com/d/gHLMhLi8x1_HBg
Здравия всем! Как в ОЛ прочитать текущий день недели? Переменной нет в списке сервисных, но в тоже время по модбас она доступна. Разработчики случайно пропустили или так задумано?
Макрос от AI!
Захват-1.png
Мой канал на ютубе
https://www.youtube.com/c/ПетрАртюков
Мой канал на РУТУБЕ
https://rutube.ru/channel/23641433/
Библиотека ГМ для СП300
https://disk.yandex.com/d/gHLMhLi8x1_HBg
Здравствуйте!
Стало необходимо вывести на экран ПР200 отрицательное целое число, и вот незадача...
Помню еще со времен программирования на ассемблере для ZX Spectrum-а:
- тип int от -32768 до +32768 (Word)
- тип uint от 0 до 65535 (Word)
Везде в языках программирования и в классическом понимании тип int это знаковое целое число.
Почему здесь оно только положительное беззнаковое? При всем том, что в том же OwenCloud есть int16, uint16...
Основной конечно вопрос как вывести на экран ПР200 отрицательное целое число - естественно без дробной части.
Для начала определитесь где Вы возьмете это отрицательное целое число
Варианты
а) - в сетевой переменной от внешнего устройства
б) - в результате вычислений
вариант а) предполагает диапазон от -32768 до -32767
вариант б) предполагает диапазон от -2147483648 до 2147483647
В обоих случаях отрицательные значения будут представлены в дополнительном коде
в программе определяете знак и модуль(абсолютное значение) числа, для а) нужен макрос для 16 битных чисел, для б) - для 32 битных
На экране - составной элемент битовое поле (+/-) рядом поле для вывода числа (int)
ЗЫ.
Макросы
Абсолютное значение 32битных чисел + знак
Захват-3.png
Абсолютное значение 16битных чисел + знак
Захват-2.png
Экран
Захват-4.png
Результат работы
Захват-1.png
Последний раз редактировалось petera; 21.11.2019 в 12:39.
Мой канал на ютубе
https://www.youtube.com/c/ПетрАртюков
Мой канал на РУТУБЕ
https://rutube.ru/channel/23641433/
Библиотека ГМ для СП300
https://disk.yandex.com/d/gHLMhLi8x1_HBg