The VEX Visual Studio Code Extension has replaced VEXcode Pro V5, which is now end-of-life.
VEXcode Blocks and VEXcode Text remain actively developed and supported for all VEX platforms.
保存整数的类型:char、short、int、long、long long
让我们看一些例子:
字符 cvar = 50; 字符 cvar = 50; 短 svar = 50; int ivar = 50; 长lvar1=50; 长lvar2=50;
基本算术运算符:
大多数人都熟悉基本算术运算符和优先顺序:+、-、*、/
以下是如何使用一元运算符的一些示例:++ 和 --:
表达 | 相当于 | 也相当于 |
cvar += 5; | cvar = cvar + 5; | |
++cvar; | cvar++; | cvar = cvar + 1; |
--cvar; | cvar--; | cvar = cvar - 1; |
当心变量 ++ 与 ++ 变量!
++变量
整数 x = 10,y = 20; X = ++y;
注意:此操作后:X = 21,Y 也 = 21。
变量++
整数 x = 10,y = 20; X = y++;
注意:此操作后:X = 20,Y = 21。
比较整数数据类型
有一个组或数据类型允许正值和负值——“有符号”。 但是,您不需要指定它,因为它是隐式的。 见下文:
数据类型 | 最小值 | 最大值 |
字符 | -2 7 或 -128 | 2 7 - 1 或 127 |
短的 | -2 15 或 -32,768 | 2 15 - 1 或 32,767 |
整数 | -2 31 或 -2,147,483,648 | 2 31 – 1 或 2,147,483,647 |
长的 | -2 31 或 -2,147,483,648 | 2 31 – 1 或 2,147,483,647 |
长长 | -2 63 或 -9,223,372,036,854,775,808 | 2 63 – 1 或 9,223,372,036,854,775,807 |
有一个组或数据类型只允许正值——“无符号”。
数据类型 | 最小值 | 最大值 |
无符号字符 | 0 | 2 8 - 1 或 255 |
无符号短 | 0 | 2 16 - 1 或 65,535 |
无符号整数 | 0 | 2 32 – 1 或 4,294,967,295 |
无符号长 | 0 | 2 32 – 1 或 4,294,967,295 |
无符号长长 | 0 | 2 64 – 1 或 18,446,744,073,709,551,615 |
如何验证数据大小?
目前,您应该知道 sizeof( )
运算符。 这提供了称为“字节”的内存存储单元 - 将在下一节中稍微介绍。
告诉您字节数应使用运算符 sizeof()
键入的示例。 尝试一下自己验证一下。 如果您更换为其他控制器,您可以随时执行以下操作来验证。
Brain.Screen.setFont(fontType::mono30); Brain.Screen.printAt(1, 20,"char有 %d 字节", sizeof(char)); Brain.Screen.printAt(1, 50,"short 有 %d 字节", sizeof(short)); Brain.Screen.printAt(1, 80,"int 有 %d 字节", sizeof(int)); Brain.Screen.printAt(1, 110, "long 有 %d 字节", sizeof(long)); Brain.Screen.printAt(1, 140, "long long 有 %d 字节", sizeof(long long)); Brain.Screen.printAt(1, 170, "float 有 %d 字节", sizeof(float)); Brain.Screen.printAt(1, 200, "double 有 %d 字节", sizeof(double));
一个字节是什么意思?
“字节”是数据存储的标准单位。
1 字节 = 8 位。 一位是最小的存储单元,只能有1和0(二进制值)的值。 但是,您可以从系统获取的最小内存单位是 1 个字节;所以你不能要求 1.5 字节等。
我们来看看char。 它足够短,可以轻松显示。
如果全部填满 1,则得到 28-1。 该值应该是“unsigned char”应保持的最大值。
系统保留 最高位 以便给出负值。 因此,“char”的最大值范围为 -128 到 127。 然而,尽管数据范围有所不同,但容量仍然与“unsigned char”相同。
在计算机中,它使用一种称为补码的运算。 这是按位运算主题的一部分,超出了本文档的范围。 有关此主题的更多信息将在另一篇文档中讨论。
char 和 int 有什么区别?
以下是“char”和“int”的一些常见用法:
char var1 = '9'; int var2 = 9;
人们普遍误解“char”只能保存“a”、“b”或“9”等符号。 这是不正确的。
其实“char”类型和“int”类型是一样的,只不过char的容量只有1个字节,而int的容量是4个字节。 因此,两者的数据大小范围不同。 您可以在上面的数据范围表中看到这一点。
以下代码段将使您更清楚地了解 char 和 int。
int iX = '0'; 字符 cX1 = 49; 字符 cX2 = 50; Brain.Screen.printAt(3, 20, "'%c' = %d的 int 表示形式",iX, iX); Brain.Screen.printAt(3, 50, "'%c' = %d的 int 表示形式",cX1, cX1); Brain.Screen.printAt(3, 80, "‘%c’的 int 表示 = %d”,cX2, cX2); Brain.Screen.printAt(3, 140, "所以 '%c' - '%c' = %d ", cX2, iX, cX2 - cX1);
输出:
'0' 的 int 表示 = 48 '1' 的 int 表示 = 49 '2' 的 int 表示 = 50 所以 '2' – '0' = 1
您可能想知道:为什么“0”显示为 48?
这就引出了一个叫做“ASCII码”转换的话题。 ASCII 标准是 IEEE 于 1963 年发布的一个伟大里程碑。 这超出了本文的范围。 我们鼓励您在线查找 ASCII 代码表。 您可以在网上找到大量有关 ASCII 代码表的信息。