Тип unsigned int - беззнаковое целое число.
В Arduino Uno (и других платах на базе микроконтроллеров ATmega) переменные типа unsigned int также как и тип int содержат двухбайтовые значения. Отличие состоит в том, что вместо отрицательных чисел они могут хранить только положительные значения в удобном диапазоне от 0 до 65535 ((2^16)-1).
В Arduino Due переменные типа unsigned int занимают 4 байта (32 бита), что позволяет хранить значения в диапазоне от 0 до 4 294 967 295 (2^32 - 1)
Разница между беззнаковыми (unsigned int) и знаковыми (int) целыми числами заключается в том, как интерпретируется их старший бит (иногда называемый "знаковым битом"). В Arduino переменные типа int (знаковые) обрабатываются следующим образом: если старший бит - "1", то число интерпретируется как отрицательное, а остальные 15 бит интерпретируются согласно принципам дополнительного кода.
Пример
unsigned int ledPin = 13;
Синтаксис
unsigned int var = val;
var - имя переменной типа unsigned int
val - значение, присваиваемое этой переменной
Советы по написанию кода
Когда переменная типа unsigned int в следствие арифметической операции достигает своего максимального значения, она "перескакивает" на самое минимальное значение и наоборот::
unsigned int x;
x = 0;
x = x - 1; // x теперь содержит 65535 - произошел сброс в отрицательном направлении
x = x + 1; // в результате сброса x теперь содержит 0
Смотрите также:
byte
int
unsigned long
Целочисленные константы
Объявление переменных
Справочник
Материалы взяты с официального сайта проекта Arduino и представлены по лицензии Creative Commons Attribution-ShareAlike 3.0 License.
Источник: http://arduino.cc/en/Reference/UnsignedInt |