1. 程式人生 > >2018-10-27 22:44:33 c language

2018-10-27 22:44:33 c language

mbo 進制 負數 clas 種類型 int 進制數 形式 sym

2018-10-27 22:44:33 c language

  1. 標準的C語言並不支持上面的二進制寫法,只是有些編譯器自己進行了擴展,才支持二進制數字。並不是所有的編譯器都支持二進制數字,只有一部分編譯器支持,並且跟編譯器的版本有關系。
  2. 十六進制數字的表示用到了英文字母,有大小寫之分,要在格式控制符中體現出來:
  3. 八進制數字和十進制數字不區分大小寫,所以格式控制符都用小寫形式。如果你比較叛逆,想使用大寫形式,那麽行為是未定義的,
  4. 輸出二進制,八進制,十進制,十六進制的時候為了更好的區分你到底輸入的進制,可以通過在輸出的時候加#。
C語言中的正負數及其輸出
  • C語言規定,把內存的最高位作為符號位。
  • 在編程語言中,計數往往是從0開始,例如字符串 "abc123",我們稱第 0 個字符是 a,第 1 個字符是 b,第 5 個字符是 3。這和我們平時從 1 開始計數的習慣不一樣,大家要慢慢適應,培養編程思維。
  • short、int 和 long 類型默認都是帶符號位的,符號位以外的內存才是數值位。如果只考慮正數,那麽各種類型能表示的數值範圍(取值範圍)就比原來小了一半。
  • 但是在很多情況下,我們非常確定某個數字只能是正數,比如班級學生的人數、字符串的長度、內存地址等,這個時候符號位就是多余的了,就不如刪掉符號位,把所有的位都用來存儲數值,這樣能表示的數值範圍更大(大一倍)。
  • C語言允許我們這樣做,如果不希望設置符號位,可以在數據類型前面加上 unsigned 關鍵字。例如:
    1. unsigned int b = 1002;成為無符號整數1002.
  • 使用了 unsigned 後只能表示正數,不能再表示負數了。
    無符號數的輸出

2018-10-27 22:44:33 c language