# L7 - Basic Data type ###### tags: `C` ## 一 . 整數 ### (一) . 整數型態 1. unsign int : 只能是正數,用於低階硬體。 2. sign int : 可以是正負,用於一般運算。 3. long 、short : 比一般正整數空間長或短。 ### (二) . 整數範圍 1. C沒有規定必須為多少,但有規定最小空間為多少,可以在<limit.h>中知道相關資訊。 2. 在16位元的機器 : - short : 16位元。 - int : 16位元。 - long : 32位元。 3. 在32位元的機器 : - short : 16位元。 - int : 32位元。 - long : 32位元。 4. 在64位元的機器 : - short : 16位元。 - int : 32位元。 - long : 64位元。 5. C99之後,long long int 開始使用:規定至少64bit。 ### (三) . 整數常數、指定儲存 - 整數常數 1. 整數常數 : 程式中非變數的整數。 2. 8進位表示 : 由0開頭, 3. 16進位表示 : 由0x開頭。 - 指定儲存 1. L結尾 : 表示long 2. U結尾 : 表示unsign。 3. LL結尾 : 表示long long。 - long、short、long long 的conversion 不同 : 1. short : 『%hd』。 3. long : 『%l』。 4. long long : 『%ll』。 ### (四) . 整數溢位 1. sign 溢位 : 不定,每一台電腦用的補數模型都不一樣,可能造成的結果都不一樣。 2. unsign 溢位 : 因為是硬體底層,所以溢位方法一定。 ## 二 . Float ### (一) . 浮點數型態 1. float : 單精準浮點數。 2. double : 雙精準浮點數。 3. long double : 比雙精準浮點數。 ### (二) . 浮點數的IEEE-754
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up