共找到3條詞條名為long的結果 展開

long

C語言字元

long關鍵字表示一種長整型數據,是編程語言中的一種基本數據類型,為long int的縮寫,默認為有符號長整型,含4個位元組,取值範圍為:-2^31 ~ (2^31 -1)。

定義


長整型數據類型是C語言等編程語言中常用的一種數據類型。
長整型數據類型分為有符號長整型和無符號長整型,各自的取值範圍如下:
(1)長整型
類型標識符:long[int]
位元組:4個
取值範圍:-2147483648~2147483647(-2^31~(2^31-1))
(2)無符號長整型
類型標識符:unsignedlong[int]
位元組:4個
取值範圍:0~4294967295(0~(2^32-1))

應用示例


#includeint,main(void){printf("Please input the data ang click 'enter'\r\n"); printf("short=%d\n\n",sizeof(short));printf("int=%d\n\n",sizeof(int));printf("long=%d\n\n",sizeof(long)); printf("float=%d\n\n",sizeof(float)); printf("double=%d\n",sizeof(double));}
輸出結果為:
short=2
int=4
long=4
float=4
double=8

應用拓展


c語言中整數溢出的問題分析示例:
#includeintmain(void){int i=2147483647;unsigned int j=4294967295;printf ("%d,%d,%d",i,i+1,i+2);printf("%u,%u,%u",j,j+1,j+2);return 0;}程序中所設置的整形和無符號整形變數的值均為系統所允許的最大值,運行結果如下:
i= 2147483647
i+1=-2147483648
i+2=-2147483647
j=4294967295
j+1=0
j+2=1
分析可知:無符號整數j達到最大值時,將溢出到起始點。整數i也同樣。
他們主要的區別是unsigned int變數j的起始點是0,而int變數起始點是-2147483648。