Char, Short, Int and Long Types
Char, Short, Int 和 Long 类型
char
char 类型占用 1 字节的内存(8 位),并且可以在二进制表示中表达 2^8=256 个值。char 类型可以包含正数和负数。值的范围是从 -128 到 127。
uchar
uchar 整数类型也占用 1 字节的内存,与 char 类型相同,但不同之处在于 uchar 仅用于正数。最小值为零,最大值为 255。uchar 类型名称中的首字母 u 是“无符号”的缩写。
short
short 类型的大小为 2 字节(16 位),因此它可以表达 2 的 16 次方:2^16 = 65,536 的值范围。由于 short 类型是带符号的,可以包含正数和负数,因此值的范围在 -32,768 到 32,767 之间。
ushort
无符号 short 类型就是 ushort,它也有 2 字节的大小。最小值为 0,最大值为 65,535。
int
int 类型的大小为 4 字节(32 位)。最小值为 -2,147,483,648,最大值为 2,147,483,647。
uint
无符号整数类型是 uint。它占用 4 字节的内存,可以表达从 0 到 4,294,967,295 的整数。
long
long 类型的大小为 8 字节(64 位)。最小值为 -9,223,372,036,854,775,808,最大值为 9,223,372,036,854,775,807。
ulong
ulong 类型也占用 8 字节,可以存储从 0 到 18,446,744,073,709,551,615 的值。
示例:
char ch=12;
short sh=-5000;
int in=2445777;由于无符号整数类型不是用于存储负数设计的,尝试设置负数可能会导致意外后果。这样的简单脚本会导致无限循环:
//--- Infinite loop
void OnStart()
{
uchar u_ch;
for(char ch=-128;ch<128;ch++)
{
u_ch=ch;
Print("ch = ",ch," u_ch = ",u_ch);
}
}正确的变体是:
//--- Correct variant
void OnStart()
{
uchar u_ch;
for(char ch=-128;ch<=127;ch++)
{
u_ch=ch;
Print("ch = ",ch," u_ch = ",u_ch);
if(ch==127) break;
}
}结果:
ch= -128 u_ch= 128
ch= -127 u_ch= 129
ch= -126 u_ch= 130
ch= -125 u_ch= 131
ch= -124 u_ch= 132
ch= -123 u_ch= 133
ch= -122 u_ch= 134
ch= -121 u_ch= 135
ch= -120 u_ch= 136
ch= -119 u_ch= 137
ch= -118 u_ch= 138
ch= -117 u_ch= 139
ch= -116 u_ch= 140
ch= -115 u_ch= 141
ch= -114 u_ch= 142
ch= -113 u_ch= 143
ch= -112 u_ch= 144
ch= -111 u_ch= 145
...示例:
//--- Negative values can not be stored in unsigned types
uchar u_ch=-120;
ushort u_sh=-5000;
uint u_in=-401280;十六进制:数字 0-9,字母 a-f 或 A-F 表示 10-15 的值;以 0x 或 0X 开头。
示例:
0x0A, 0x12, 0X12, 0x2f, 0xA3, 0Xa3, 0X7C7另请参阅
最后更新于