阡陌 发表于 2024-3-15 02:16:05

int(整型)


**int(整型)**

[数据类型]



## 描述

整数是用于存储数字的主要数据类型。

在 Arduino Uno(以及其他基于 ATmega 的板子)上,一个 int 存储一个 16 位(2 字节)的值。这产生了 -32,768 到 32,767 的数字范围(最小值为 -2^15^,最大值为 (2^15^) - 1)。在 Arduino Due 和基于 SAMD 的板子上(如 MKR1000 和 Zero),一个 int 存储一个 32 位(4 字节)的值。这产生了 -2,147,483,648 到 2,147,483,647 的数字范围(最小值为 -2^31^,最大值为(2^31^) - 1)。

int 使用一种称为补码的技术来存储负数。最高的位称为"符号"位,标记数字的正负(1 为负)。其余的位被取反并加 1(例如 -1 :1 000000000000001 - > 1 111111111111110 -> 1 111111111111111 )。

Arduino 负责为您处理负数,这样算术运算就能以预期的方式透明地进行。然而,处理按位右移运算符([\>>](https://www.mculoop.com/thread-342-1-1.html))时可能会出现意想不到的复杂性。



## 语法

```cpp
int var = val;
```

**参数:**
var: 变量名。
val: 要分配给该变量的值。



## 示例代码

这段代码创建了一个名为 'countUp' 的整数,初始值设为数字 0。该变量在每次循环中增加 1,并在串行监视器上显示。

```cpp
int countUp = 0;            //创建一个名为'countUp'的整数变量

void setup() {
Serial.begin(9600);       // 使用串口打印数字
}

void loop() {
countUp++;                //每次循环中countUp加1
Serial.println(countUp);//打印出countUp的当前值
delay(1000);
}
```



## 注意事项和警告

当有符号变量超过其最大或最小容量时,它们会溢出。溢出的结果是不可预测的,因此应该避免这种情况。溢出的一个典型症状是变量从其最大容量“滚动”到其最小值,或反之亦然,但并非总是如此。如果您想要这种行为,请使用 (https://www.mculoop.com/thread-218-1-1.html)。

例如对于 16 位整数:

```
int x;
x = -32768;
x = x - 1;       // x now contains 32,767 - rolls over in neg. direction

x = 32767;
x = x + 1;       // x now contains -32,768 - rolls over
```



## 扩展阅读

- (https://www.mculoop.com/thread-218-1-1.html)
- [整型常量](https://www.mculoop.com/thread-225-1-1.html)



页: [1]
查看完整版本: int(整型)