Столкнулся с проблемой вычисления больших чисел. Получаемое после вычислений число от 0 до 99999. Промежуточные числа в процессе вычисления формулы еще больше. Блоки математических вычислений работают с целыми числами от -32768 до 32767. Каким образом можно победить эту проблему?
Как пример:
1000xA/B, где А от 0 до 9999, а В от 20 до 100
Математика больших чисел
Математика больших чисел
Используйте
Типу <Unsigned long Integer> соответствуют целые числа от: 0 до: 4294967295
Типу <Unsigned long Integer> соответствуют целые числа от: 0 до: 4294967295
- slavushka64
- Сержант
- Сообщения: 171
- Зарегистрирован: 06 сен 2015, 12:14
- Откуда: Бишкек
- Имя: Вячеслав
Математика больших чисел
DmitriyL, Вот так
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Математика больших чисел
Спасибо. А - это переменная со счетчика. В - вводится с меню. В общем, получилось через константу 1000 в формате Long Integer. По остальным блокам в цепочке в этом же формате ушло до самого LCD.Bogomil писал(а):ИспользуйтеТипу <Unsigned long Integer> соответствуют целые числа от: 0 до: 4294967295
В Вашем варианте будет приличная погрешность, потому что на выходе первого блока будут целые числа, и после умножения к числу просто добавятся три нуля вместо трех чисел после запятой, получившихся бы после деления в первом блоке. Если блоки ставить в цепочке ровно так же, как в формуле, то все норм.slavushka64 писал(а):DmitriyL, Вот так
Последний раз редактировалось DmitriyL 16 апр 2017, 15:09, всего редактировалось 1 раз.
- slavushka64
- Сержант
- Сообщения: 171
- Зарегистрирован: 06 сен 2015, 12:14
- Откуда: Бишкек
- Имя: Вячеслав
Математика больших чисел
DmitriyL, Вот в двух вариантах получилось
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей