C语言中,"整型"跟"短整型"的取值范围都是 -32768~32767,请教两者有什么差别
C语言中,"整型"跟"短整型"的取值范围都是 -32768~32767,请问两者有什么差别?
C语言中, "整型 "跟 "短整型 "的取值范围都是 -32768~32767,请问两者有什么差别?
在需要用到“整型 "变量的时候可以用“短整型”取代吗?
反之,“短整型”变量可以用“整型”变量取代吗?
谢谢各位大大!
------解决方案--------------------
Forget about TC and DOS, sizeof (short) is usually sizeof (int) / 2.
------解决方案--------------------
C语言标准只规定了 int,和 short int的最小取值范围
在32位机上的int就可能会是 -2147483647 到 2147483647
另外用scanf 和 printf 时,如果用 short int应该这样用
short int n;
scanf( "%hd ",&n);
printf( "%hd ",n);
h表示短整形,l表示长整形
如果这样用
short int n;
scanf( "%d ",&n);
printf( "%d ",n);
程序在16位机上没有问题,到32位机上就会出错。
------解决方案--------------------
在32位机上的int就可能会是 -2147483648 到 2147483647
------解决方案--------------------
楼主,扔了你手里的TC吧,毛20年前的东西了。
换个VC6/devcpp都可以啊。
------解决方案--------------------
32位环境 int 是4字节的
------解决方案--------------------
有几个概念:(适用于C/C++)
1: short至少16位
2:int 至少与short一样长
3: long至少32位,且至少与int一样长
4:当前很多系统都使用最小长度,即short为16位,long为32位 , int的选择宽度可以是16,24,32位都是符合标准的,老式的IBM PC中int宽度为16位 (等同与short),Windows系列int一般为32位(与long相同)
5: 16位的int取值范围:-32768~+32767
6: 一个系统中,两个字节的int可能是16位,另一系统中可能是32位
C语言中, "整型 "跟 "短整型 "的取值范围都是 -32768~32767,请问两者有什么差别?
在需要用到“整型 "变量的时候可以用“短整型”取代吗?
反之,“短整型”变量可以用“整型”变量取代吗?
谢谢各位大大!
------解决方案--------------------
Forget about TC and DOS, sizeof (short) is usually sizeof (int) / 2.
------解决方案--------------------
C语言标准只规定了 int,和 short int的最小取值范围
在32位机上的int就可能会是 -2147483647 到 2147483647
另外用scanf 和 printf 时,如果用 short int应该这样用
short int n;
scanf( "%hd ",&n);
printf( "%hd ",n);
h表示短整形,l表示长整形
如果这样用
short int n;
scanf( "%d ",&n);
printf( "%d ",n);
程序在16位机上没有问题,到32位机上就会出错。
------解决方案--------------------
在32位机上的int就可能会是 -2147483648 到 2147483647
------解决方案--------------------
楼主,扔了你手里的TC吧,毛20年前的东西了。
换个VC6/devcpp都可以啊。
------解决方案--------------------
32位环境 int 是4字节的
------解决方案--------------------
有几个概念:(适用于C/C++)
1: short至少16位
2:int 至少与short一样长
3: long至少32位,且至少与int一样长
4:当前很多系统都使用最小长度,即short为16位,long为32位 , int的选择宽度可以是16,24,32位都是符合标准的,老式的IBM PC中int宽度为16位 (等同与short),Windows系列int一般为32位(与long相同)
5: 16位的int取值范围:-32768~+32767
6: 一个系统中,两个字节的int可能是16位,另一系统中可能是32位