C-2.1 資料

來源:互聯網
上載者:User

標籤:

C的資料 其實和其他語言一樣的。C99無非增加了幾個新的資料類型。

基本可以分為以下:

  • 實數
  • 字元
  • 邏輯(到後面 其實 這個就是 整數類型的一種[short int]) 王爽老師的名言:以後用到的知識以後再學。
  • 其他類型

實數包括什嗎?

  • 整數 如:12345...  整數在C語言分為:
    • 長整數: long int  在記憶體中占位元組 8個
    • 整數:int  在記憶體中占位元組 4個
    • 短整數:short int  在記憶體中占位元組 2個
    • 超長整數:long long int   在記憶體中占位元組 16個 這是C99標準新出

其實把新出的這個 long long int沒必要。我們又不是科學家 普通的計算 int就足夠我們用了的。很少有情況要用 long int

重點:

還有一點要講 這些 都分 有 符號 和無 符號 類型。
很簡單。有符號的 就有負數
沒符號的 就沒負數
但是他們的不同點就是 長短一樣。
打個比方:
1~100 是100個數字對吧
-49~50 是不是也是100個數字? 這個不好解釋想想就明白了
因為總共 100個數  你分給誰也改變不了的 不是嗎?

 

  • 小數 如:1.2 1.3  568.123
    • 單精確度小數:float  在記憶體中占位元組 4個
    • 雙精確度小數:Double  在記憶體中占位元組 8個
    • 長雙精確度小數:long duoble   在記憶體中占位元組 16個

這些 都分 有 符號 和無 符號 類型。

單精確度小數就是 一個數字 後面的小數儲存的位元
筆者具體也記不清楚了 反正到時候寫程式的時候 肯定會debug
那時候就清晰了
這裡我們假設
float 8位
Double 20位
long Double 50位

123.123456789111111111111[ 小數點後面21位]
那麼這個數字
float 儲存會變成 :123.12345678
Double 儲存會變成 :123.1234567891111111111[儲存20位 最後一位 扔了]
long Double 儲存會變成 :123.12345678911111111111[因為位元是夠的 所以可以全部儲存]

有人會問了 尼瑪XXX  float 儲存的不應該是 123.12345679的嗎?
你是不是這麼想的。 8後面的9所以要進1?
我給你的答案是 C語言是 直接扔掉不會 給你進位的!

  • 字元 如:‘A‘ ‘B‘ ‘C‘ ‘a‘
    • 字元:Char   在記憶體中占位元組 1個
  • 邏輯 只有兩個:True false   真或者假
    • 真:true   在記憶體中占位元組 2個
    • 假:flase  在記憶體中占位元組 2個
  • 其他資料類型 可以是自訂的。這個以後在講!

以上統統不要記 用到的時候 你就懂了 就是 “容器的大小 和類型而已”

C-2.1 資料

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.