-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