1) short int(可简写为 short),和 int 一样,也是有符号整数 2) long int(简写:long),有符号整数 3) long long int(简写:long long),C99 标准添加的类型,有符号整数 4) unsigned int(简写:unsigned),无符号整数,不能表示负数 5) unsigned long int(简写:unsigned long),无符号整数,不能表示负数 6) u...
而long int的位数为32位,可用来存储比较大的整数。 short int和long int可以缩写为short和long。 C语言中的整型数据类型int、short int和long int 名称 全称类型说明符 缩写类型说明符 位数 范围 整型 int int 16位 -32768至+32767 无符号整型 unsigned int unsigned 16位 0至65,535 短整型 short int short...
unsigned 是无符号的意思。 例如: 16位编译器 char:1个字节char*(即指针变量): 2个字节shortint: 2个字节int: 2个字节 unsignedint: 2个字节float: 4个字节double: 8个字节long: 4个字节longlong: 8个字节 unsignedlong: 4个字节 32位编译器(看这里就行了,与16位机,64位机比较,粗体type为不同的,其余...
3、如果表达式中混有unsigned short和int型时,如果int型数据可以表示所有的unsigned short型的话,则将unsigned short类型的数据转换为int型,否则,unsigned short类型及int型都转换为unsigned int类型。举个例子,在32位机上,int是32位,范围–2,147,483,648 to 2,147,483,647,unsigned short是16位,范围0 to 65,...
C++ unsigned int 和long int的区别如下:后者是无符号长整型 ,前者是无符号整型,占用的字节相同,取值范围相同,整数的末尾后缀不一样。但是,具体要看编译器,现在大多数编译器例如vc,int和long大小是一样的,都是32位,在int中,最高位为1表示都是负数,例如32位int值0xffffffff,表示-1,0x...
今天在测试程序时发现,当用unsigned定义一个变量时,经检测,是一个四个字节的数据,所以默认时可以是unsigned int 也可以是unsigned long,值得一提的是:因为这里的是32位平台,所以是一样的。 long占四个字节; int的尺寸和平台有关系: ①在16位的系统中,int 占据2个字节 ...
最后,long int(长整型)和unsigned long int在存储上有所不同。long int占用32位,能存储的整数范围是-2,147,483,648至2,147,483,647,这是一个更大的数值范围。而unsigned long int为无符号长整型,占用32位,可以表示0至4,294,967,295的整数。总结来说,这些数据类型在存储容量和整数范围上...
2、int至少和short一样; 3、long至少32位,且至少和int一样长; 4、long long至少64位,且至少和long一样长。 这4个有符号整型都有无符号变体(即对应的无符号整型)。分别是unsigned short、unsigned int、unsigned long和unsigned long long。需要说明的是,unsigned本身是unsigned int的缩写。
要打印unsigned int 数字,可以使用%u符号。打印long数值,可以使用%d 格式说明符。如果系统的 int 和 long 类型具有同样的长度,使用%d 就可以打印 long 数值,但是这会给程序移植到其他系统(这两种数据类型的长度不一样的系统)带来麻烦,所以建议使用 %ld 打印 long 数值。在x和o符号前也可以使用l前缀,因此 %lx表示...
你所说的“Keil”应该是指51工具链。51是8位机,字长8位,因此那个时代的int型就是16位。而VC针对的是32位机,字长本身就有32位, int型和long型没法比32位更短了,因此对于16位int型还加了个short。