Arduino 数据类型

17 Mar 2025 | 6 分钟阅读

数据类型用于标识数据类型以及用于处理数据的相关函数。它用于声明函数和变量,这决定了位模式和存储空间。

我们将在 Arduino 中使用的数据类型如下所示

  • void 数据类型
  • int 数据类型
  • Char 数据类型
  • Float 数据类型
  • Double 数据类型
  • Unsigned int 数据类型
  • short 数据类型
  • long 数据类型
  • Unsigned long 数据类型
  • 字节数据类型
  • word 数据类型

void 数据类型

void 数据类型指定空值集,仅用于声明函数。它用作不返回任何值的函数的返回类型。

让我们通过一个 Arduino 示例来理解。

考虑下面的代码。

Int 数据类型

整数数据类型是像 5、-6、10、-123 等整数。它们没有任何小数部分。整数数据类型由 int 表示。它被认为是存储数字的主要数据类型。

int 的大小为 2 个字节(16 位)。

最小范围:-32768 到 32767 或 - (2^ 15) 到 ((2 ^ 15) - 1)

在 ATmega 和 Arduino UNO 板中,int 数据类型存储 2 个字节的值。

在 Arduino Zero 和 MKR1000 (SAMD 板) 和 Arduino Due 等板上,int 数据类型存储 4 个字节或 32 位的值。在这种情况下,最小范围为 - (2^ 31) 到 ((2 ^ 31) - 1) 或 -2,147,483,648 到 2,147,483,647。

负数以 2 的补码形式存储,其中符号位或最高位被标记为负数。

语法使用如下

其中,

var= 变量

value = 分配给变量的值

例如:

任何变量或标识符都变成一个整数变量,并且只能保存整数值。

让我们通过一个 Arduino 示例来理解。

考虑下面的代码。

Char 数据类型

char 数据类型可以存储任意数量的字符集。声明为 char 的标识符变成字符变量。字面量写在单引号内。

char 类型通常被称为整数类型。这是因为符号、字母等在内存中由相关的数字代码表示,而这些只是整数。

字符数据类型的大小至少为 8 位。我们可以使用 byte 数据类型作为 8 位或 1 字节的无符号 char 数据类型。

例如,字符 ' A ' 的 ASCII 值为 65。

如果我们指定 ' A ' + 2,它将具有 ASCII 值 67。

语法是

其中,

var= 变量

val = 分配给变量的值。

让我们通过一个例子来理解。

考虑下面的代码。

ASCII 表如下所示

Arduino Data Types

Float 数据类型

具有小数部分和十进制部分的一个数字被认为是浮点数。例如,4.567 是一个浮点数。数字 13 是一个整数,而 13.0 是一个浮点数。由于它们具有更高的分辨率,因此小数被用于逼近连续和模拟值。

浮点数也可以用指数形式书写。数字可以大到 3.4028235E+38,也可以小到 -3.4028235E+38。float 数据类型的大小为 4 个字节或 32 位。

语法是

其中,

var= 变量

val = 分配给变量的值

让我们通过一个例子来理解。

考虑下面的代码。

注意:我们需要在数字后添加一个小数点。否则,它将被视为整数。例如,14.0 被视为浮点数,而 14 是一个整数。

浮点数也可以转换为整数。例如,

Double 数据类型

double 数据类型也用于处理十进制或浮点数。它占用的内存是 float 的两倍。它存储具有更大精度和范围的浮点数。它代表双精度浮点数。

它在 ATmega 和 UNO 板中占用 4 个字节,而在 Arduino Due 中占用 8 个字节。

语法是

其中,

var= 变量

val = 分配给变量的值

Unsigned int 数据类型

无符号 int 存储值高达 2 个字节或 16 位。它只存储正值。无符号 int 数据类型的范围是从 0 到 65,535 或 0 到 ((2 ^ 16) - 1)。

Arduino Due 存储 4 个字节或 32 位的无符号数据值。

无符号和有符号数据类型之间的区别是符号位。Arduino 中的 int 类型是有符号 int。在 16 位数字中,15 位以 2 的补码解释,而高位被解释为正数或负数。如果高位是 '1',则被视为负数。

语法是

其中,

var= 变量

val = 分配给变量的值

例如:

short 数据类型

short 是一个整数数据类型,存储 2 个字节或 16 位的数据。

short 数据类型的范围是从 -32768 到 32767 或 - (2^ 15) 到 ((2 ^ 15) - 1)。基于 ARM 和 ATmega 的 Arduino 通常存储 2 个字节的数据值。

语法是

其中,

var= 变量

val = 分配给变量的值

例如:

long 数据类型

long 数据类型被认为是扩展大小的变量,它存储 4 个字节(32 位)。大小范围从 -2,147,483,648 到 2,147,483,647。

在使用整数时,至少一个数字后应该跟 L,这将强制该数字成为 long 数据类型。

语法是

其中,

var= 变量

val = 分配给变量的值

例如:

Unsigned long 数据类型

无符号 long 数据类型也被认为是扩展大小的变量,它存储 4 个字节(32 位)。它不像其他无符号数据类型那样存储负数,这使得它们的大小范围从 0 到 4,294,967,295 或 (2^32 - 1)。

语法是

其中,

var= 变量

val = 分配给变量的值

例如

byte

1 字节 = 8 位。

它被认为是一个无符号数,存储从 0 到 255 的值。

语法是

其中,

var= 变量

value = 分配给变量的值

例如:

word

它被认为是一个 16 位或 2 字节的无符号数,存储从 0 到 65535 的值。

语法是

其中,

var= 变量

val = 分配给变量的值

例如:


下一主题Arduino 变量