unsigned int
Описание
В Uno и других платах на базе микроконтроллеров ATmega, переменные типа unsigned int (беззнаковые целые) схожи с int-переменными тем, что они содержат двухбайтовые значения. Отличие состоит в том, что вместо отрицательных чисел они могут хранить только положительные значения в удобном диапазоне от 0 до 65535 ((2^16)-1).
В Arduino Due такие переменные занимают 4 байта (32 бита), что позволяет хранить значения в диапазоне от 0 до 4 294 967 295 (2^32 - 1).
Разница между беззнаковыми (unsigned int) и знаковыми (int) целыми числами заключается в том, как интерпретируется их старший бит (иногда называемый "знаковым битом"). В Ардуино переменные типа int (знаковые) обрабатываются следующим образом: если старший бит - "1", то число интерпретируется как отрицательное, а остальные 15 бит интерпретируются согласно принципам дополнительного кода.
Пример
unsigned int ledPin = 13;
Синтаксис
unsigned int var = val;
- var - имя переменной типа unsigned int
- val - значение, присваиваемое этой переменной
Подсказка
В ситуациях, когда значение переменной стремится превысить свой максимум, оно сбрасывается в минимальное значение, причем данный принцип работает в оба направления.
unsigned int x x = 0; x = x - 1; // x теперь содержит 65535 - произошел сброс в отрицательном направлении x = x + 1; // в результате сброса x теперь содержит 0