Умножение целых чисел (на Arduino и не только)

При умножении на Arduino необходимо помнить о размерах переменных в которые мы записываем результат вычислений.

Так, например, на Arduino UNO переменная int — двух байтовая и может принимать значения от -2^15 до 2^15 (-32 768 до 32 767).
Поэтому, если мы используем переменную размер которой не может превышать заданного диапазона, то результат умножения, записанный в эту переменную будет не предсказуемый.

Для расширения диапазона вычислений необходимо пользоваться переменными большего размера

Unsigned int — двух байтовая беззнаковая с диапазоном от 0 до 65 535
Long — четырех байтовая с диапазоном от -2 147 483 648 до 2 147 483 647
Unsigned long — четырех байтовая беззнаковая с диапазоном от 0 до 4 294 967 295

unsigned long val;

val=1000L*10000L;
Avatar photo
Alex P./ author of the article

xvsdfsdfsdfsd

Like this post? Please share to your friends:
The Men's Cave
Leave a Reply

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: