[FAQ集] 基本型別:多種整數類型別,如何選?

看板C_and_CPP (C/C++)作者 (Khoguan Phuann)時間19年前 (2005/09/19 09:01), 編輯推噓3(301)
留言4則, 3人參與, 最新討論串1/1
ptt.cc BBS 站 C_and_CPP 板 FAQ (0.1版) 基本型別的問題 Q: C/C++整數類的型別那麼多種,如何選擇? A: (本題答案乃是參考 comp.lang.c FAQ 1.1則) 因為在所有的整數類型別中,int 是對機器來說最「自然」的型別,所以若 無其他考量,需要整數時,用 int可以獲得較小的程式碼與較好的執行效率。 如果有記憶空間佔用太多的顧慮,例如要用到一個元素個數極多的陣列,才 考慮改用較小的整數型別,例如 short, 甚至 unsigned char。當然,所選 型別必須要能充份涵蓋所要表示的數值範圍。在 32位元 int 平台上(目前 最常見的),若要更大的整數,可考慮用 long long 或unsigned long long, 但 long long只有 C99 才將它納入標準。參考下一則。 float 與 double 的抉擇亦然。對機器來說,double 比 float 還要來得 「自然」,但 double 佔的記憶體空間比 float 大。 如果需要長度固定的整數類型別(同樣是 int,在不同平台長度不同),那 就要用 typedef 的方式來定義。當要將程式移植到不同平台時,只要修改 typedef 的定義就可。MS VC++ 定義了許多這種固定長度的整數類型別。 by Khoguan Phuann ----------------------------------- 敬請指正錯誤,或提出更合適的答案。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.130.208.168 ※ 編輯: khoguan 來自: 220.130.208.168 (09/19 09:10)

09/19 09:48, , 1F
所謂"自然"是指? 不太瞭解 > < 自然耶尚好嗎
09/19 09:48, 1F

09/19 11:13, , 2F
C語言有定義整數型態的容量下限與大小關係
09/19 11:13, 2F

09/19 11:14, , 3F
這也可以說明一下
09/19 11:14, 3F

06/26 18:20, , 4F
借轉
06/26 18:20, 4F
文章代碼(AID): #13BWtsTD (C_and_CPP)
文章代碼(AID): #13BWtsTD (C_and_CPP)