Учебники

Arduino — Типы данных

Типы данных в C относятся к обширной системе, используемой для объявления переменных или функций различных типов. Тип переменной определяет, сколько места она занимает в хранилище и как интерпретируется сохраненный битовый массив.

В следующей таблице представлены все типы данных, которые вы будете использовать во время программирования Arduino.

недействительным логический голец Неподписанный символ байт ИНТ Без знака int слово
долго Длинный без знака короткая поплавок двойной массив String-char массив Строка-объект

недействительным

Ключевое слово void используется только в объявлениях функций. Это указывает на то, что функция не должна возвращать информацию функции, из которой она была вызвана.

пример

Void Loop ( ) {
   // rest of the code
}

логический

Логическое значение содержит одно из двух значений: true или false. Каждая логическая переменная занимает один байт памяти.

пример

boolean val = false ; // declaration of variable with type boolean and initialize it with false
boolean state = true ; // declaration of variable with type boolean and initialize it with true

голец

Тип данных, занимающий один байт памяти, в котором хранится символьное значение. Символьные литералы пишутся в одинарных кавычках, например: «A», а для нескольких символов в строках используются двойные кавычки: «ABC».

Тем не менее, символы хранятся в виде чисел. Вы можете увидеть конкретную кодировку в диаграмме ASCII . Это означает, что можно выполнять арифметические операции над символами, в которых используется значение символа ASCII. Например, «A» + 1 имеет значение 66, поскольку значение ASCII заглавной буквы A равно 65.

пример

Char chr_a = ‘a’ ;//declaration of variable with type char and initialize it with character a
Char chr_c = 97 ;//declaration of variable with type char and initialize it with character 97

ASCII Char Table

без знака

Беззнаковый тип — это тип данных без знака, занимающий один байт памяти. Тип данных без знака кодирует числа от 0 до 255.

пример

Unsigned Char chr_y = 121 ; // declaration of variable with type Unsigned char and initialize it with character y

байт

Байт хранит 8-битное число без знака от 0 до 255.

пример

byte m = 25 ;//declaration of variable with type byte and initialize it with 25

ИНТ

Целые числа являются основным типом данных для хранения чисел. int хранит 16-битное (2-байтовое) значение. Это дает диапазон от -32 768 до 32 767 (минимальное значение -2 ^ 15 и максимальное значение (2 ^ 15) — 1).

Размер int варьируется от платы к доске. В Arduino Due, например, int хранит 32-битное (4-байтовое) значение. Это дает диапазон от -2 147 483 648 до 2 147 483 647 (минимальное значение -2 ^ 31 и максимальное значение (2 ^ 31) — 1).

пример

int counter = 32 ;// declaration of variable with type int and initialize it with 32

Без знака int

Целые числа без знака (целые числа без знака) аналогичны типу int в том, что они хранят 2-байтовое значение. Однако вместо хранения отрицательных чисел они хранят только положительные значения, что дает полезный диапазон от 0 до 65 535 (2 ^ 16) — 1). В Due хранится 4-байтовое (32-разрядное) значение в диапазоне от 0 до 4 294 967 295 (2 ^ 32 — 1).

пример

Unsigned int counter = 60 ; // declaration of variable with 
   type unsigned int and initialize it with 60

слово

На платах Uno и других основанных на ATMEGA словах хранится 16-разрядное число без знака. На Due и Zero хранится 32-разрядное число без знака.

пример

word w = 1000 ;//declaration of variable with type word and initialize it with 1000

Долго

Длинные переменные являются переменными расширенного размера для хранения чисел и хранят 32 бита (4 байта), от -2 147 483 648 до 2 147 483 647.

пример

Long velocity = 102346 ;//declaration of variable with type Long and initialize it with 102346

без знака долго

Длинные переменные без знака являются переменными расширенного размера для хранения чисел и хранят 32 бита (4 байта). В отличие от стандартных длинных, беззнаковые длинные не будут хранить отрицательные числа, поэтому их диапазон составляет от 0 до 4 294 967 295 (2 ^ 32 — 1).

пример

Unsigned Long velocity = 101006 ;// declaration of variable with 
   type Unsigned Long and initialize it with 101006

короткая

Short — это 16-битный тип данных. На всех Arduinos (на основе ATMega и ARM) шорт хранит 16-битное (2-байтовое) значение. Это дает диапазон от -32 768 до 32 767 (минимальное значение -2 ^ 15 и максимальное значение (2 ^ 15) — 1).

пример

short val = 13 ;//declaration of variable with type short and initialize it with 13

поплавок

Тип данных для числа с плавающей запятой — это число с десятичной точкой. Числа с плавающей точкой часто используются для аппроксимации аналоговых и непрерывных значений, поскольку они имеют большее разрешение, чем целые числа.

Числа с плавающей запятой могут достигать 3,4028235E + 38 и всего -3,4028235E + 38. Они хранятся в виде 32 бит (4 байта) информации.

пример

float num = 1.352;//declaration of variable with type float and initialize it with 1.352

двойной

На платах Uno и других платах на основе ATMEGA число с плавающей запятой двойной точности занимает четыре байта. То есть двойная реализация точно такая же, как и с плавающей точкой, без увеличения точности. В Arduino Due двойники имеют 8-байтовую (64-битную) точность.