關於char取值範圍-128~127

如果把-129存進char變量裏,打印出來的就是127

      char a=-129;

      printf("%d",a)  ;    會輸入多少??    結果爲127 ,爲什麼呢? 

      -129在補碼爲10 0111 1111 只取後八位存儲,即 0111 111 這個值剛好是127了,

-128的補碼是1 1000 0000(只取八位) -1的補碼爲1111 1111   


        1 1000 0000    ------------------------------    -128

           1111 1111     -----------------------------  -1

-----------------------------

     10 0111 1111       ---------------------------  -129(只取八位,則是127)

淺析爲什麼char類型的範圍是 —128~+127

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章