Arduino - 数据类型



C 语言中的数据类型指的是一个广泛的系统,用于声明不同类型的变量或函数。变量的类型决定了它在存储器中占据的空间大小,以及如何解释存储的位模式。

下表提供了您在 Arduino 编程过程中将使用到的所有数据类型。

void 布尔型 字符型 无符号字符型 字节型 整型 无符号整型 字型
长整型 无符号长整型 短整型 浮点型 双精度浮点型 数组 字符串-字符数组 字符串-对象

void

void 关键字仅用于函数声明。它表示该函数不期望从其被调用的函数返回任何信息。

示例

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

布尔型

布尔型变量保存两个值之一,真或假。每个布尔型变量占用一个字节的内存。

示例

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,因为大写字母 A 的 ASCII 值为 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

无符号整型

无符号整型(无符号整数)在存储 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

短整型

短整型是一种 16 位数据类型。在所有 Arduino(基于 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 位)的精度。

示例

double num = 45.352 ;// declaration of variable with type double and initialize it with 45.352
广告