-2
大小我得到一个大小discepancy而在使用C. long int
以下代码:差异在长整型
#include <stdio.h>
void main()
{
printf("%d\n", sizeof(long int));
}
8给出作为输出,所以64个比特被用于表示long int
,是吗?但是:
#include <stdio.h>
void main()
{
long int a;
a = 1;
a = a << 32;
printf("%d\n", a);
}
给出0(移位31给出-2147483648,即-2 ** 31)。所以,似乎只有4个字节被使用。这是什么意思?我使用的gcc 4.4.5没有标志
在“%d”格式说明符中是否需要修饰符?不确定。试试“%ld”? – OldProgrammer 2013-02-11 01:51:33
是的,那正是需要的。谢谢! – pratikm 2013-02-11 02:06:46