怎样为一个整型常量分配2字节的存储区
我的情况如下:
main()
{
printf("sizeof long double=%d\n",sizeof(long double));
printf("sizeof double=%d\n",sizeof(double));
…………
}
运行结果:
sizeof long double=12
sizeof double=8
sizeof float=4
sizeof long int=4
sizeof int=4
sizeof short int=2
sizeof char=1
现在想赋值给某个short int变量,但不想让那个常量占4字节存储区(我猜情况会不会出现这样的情况?或者编译器会自动修正成2字节?),该怎么声明?(不嵌套汇编)
问题点数:10、回复次数:2Top
1 楼megaboy(飞天御剑流之杀神一刀斩)回复于 2005-09-01 20:48:02 得分 10
是的,结果会自动修正成两字节的short int,如果那个常量超过了unsigned short的最大值,就会先对65536取模,结果再视情况转换,如果是unsigned short,那么这就是结果,如果是short int,那就是结果的补码。Top
2 楼ziptam()回复于 2005-09-01 21:00:13 得分 0
解释得挺详细,谢谢你Top




