找回密码
 立即注册
搜索
查看: 857|回复: 0

[Arduino 语法参考] int(整型)

[复制链接]

267

主题

0

回帖

1164

积分

管理员

积分
1164
发表于 2024-3-15 02:16:05 | 显示全部楼层 |阅读模式

int(整型)

[数据类型]

描述

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

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

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

Arduino 负责为您处理负数,这样算术运算就能以预期的方式透明地进行。然而,处理按位右移运算符(>>)时可能会出现意想不到的复杂性。

语法

int var = val;

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

示例代码

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

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

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

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

注意事项和警告

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

例如对于 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

扩展阅读


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|棱讯科技 ( 粤ICP备2024228160号-2|粤公网安备44030002003510号 )

GMT+8, 2024-12-22 09:09 , Processed in 0.016057 second(s), 4 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表