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