當前位置:首頁 » 編程語言 » c語言longlong

c語言longlong

發布時間: 2023-08-13 06:30:15

⑴ 關於c語言中的long long 的問題

signed char有符號位元組,表示範圍是-128~127,

unsigned char是無符號位元組,表示範圍是0~255。

long long是有符號長整形,表示範圍是-2^63~2^63-1。


signed char,unsigned char都是顯式聲明的有符號/無符號,而char可能是二者其中之一,由編譯器決定。就是說,如果你寫char,有可能是signed的,也有可能是unsigned的。但是絕大多數編譯器是默認為signed的。


值得注意的是,上面講的是表示範圍,但是無論是C還是C++,signedchar、unsignedchar、char是三種不同的類型。
出現這種情況可以歸結為歷史原因。早期C沒有專用於算術運算的單位元組整數類型,實現中也無法保證char使用什麼符號(不同符號轉換為超過一個位元組的整數類型時各個硬體平台的效率有差異)。後來才追加signedchar和unsignedchar。其符號是implementation-defined。


例子:

#include<stdio.h>
intmain()
{
signedchara=255;
unsignedcharb=255;
charc=255;
longlongd=100000000000;
longe=100000000000;
printf("%d ",a);
printf("%d ",b);
printf("%d ",c);
printf("%lld ",d);
printf("%d ",e);
return0;
}

結果:

可以發現可以容納的大小是不同的。

其中a,c,e發生了溢出,產生了不正確的結果。

⑵ objective c語言中的long與long long類型最大最小值分別都是相同的嗎

都是相同的,在C語言當中 long == long long。
1. long 是C語言的一個關鍵字,代表一種數據類型,中文為長整型。
2. long是long int的簡寫,也就是說,在C語言中long int類型和long類型是相同的。
3. 每個long型佔4個位元組,在32位編譯系統下,long和int占的空間是相同的。這也導致了long型變數使用的越來越少了。
4. long型可以表示的整型數字范圍為-2,147,483,648 ~ 2,147,483,647, 即-2^32 ~ 2^32-1。
在用在C的格式化輸入輸出時,long型的格式化字元為"%ld"。
5. long同其它整型類型一樣,可以同unsigned 聯合使用,形成unsigned long,即無符號長整型, 其格式化字元為"%lu"。
6. 在部分編譯器下,比如gcc, 兩個long合用,即long long類型,表示C語言目前最長的系統整型類型,每個long long類型佔8位元組,64位。其格式化字元為"%lld"。

⑶ c語言long和long long有什麼區別

long long在win32中是確實存在,長度為8個位元組;定義為LONG64。
為什麼會出現long int呢,在win32現在系統中,長度為4;在歷史上,或者其他某些系統中,int長度為2,是short int。
即便是long long,在TI的有款平台中,長度為5。
也就是說,每種類型長度,需要sizeof才知道,如果可能,最好用union看看裡面的數據,可以消除一些類型的假象長度。

熱點內容
android飛機大戰源碼 發布:2025-03-19 00:56:52 瀏覽:735
javaset方法 發布:2025-03-19 00:44:21 瀏覽:246
淘寶上傳文件夾 發布:2025-03-19 00:36:30 瀏覽:73
oracle資料庫備份數據 發布:2025-03-19 00:35:04 瀏覽:547
蠶絲演算法 發布:2025-03-19 00:34:16 瀏覽:660
錄制測試腳本 發布:2025-03-19 00:33:33 瀏覽:376
x3000r存儲卡 發布:2025-03-19 00:12:22 瀏覽:221
ie不顯示腳本錯誤 發布:2025-03-19 00:09:53 瀏覽:958
免費網頁源碼 發布:2025-03-19 00:09:00 瀏覽:262
工業企業資料庫 發布:2025-03-18 23:51:44 瀏覽:95