日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

C++?基本數據類型中int、long等整數類型取值范圍及原理分析_C 語言

作者:猿六凱 ? 更新時間: 2022-12-07 編程語言

基礎知識

計算機中所有的整數都是以補嗎的形式存儲的。

正數的補碼與原碼相同,負數的補碼是對其原碼逐位取反,但符號位除外;然后整個數加1。零分為+0和-0。

C++ 整數類型及所占內存

取值范圍計算

無符號類型

以一個4位二進制舉例

全部為數據位。4位二進制編碼:0000-1111共8種,所以能表示0-7(23-1)。

總結:對于有符號類型,如果是n位,則表示范圍為 0 - 2n-1。?

有符號類型

以一個4位二進制舉例

如果以原碼表示:對于有符號類型,最高位是符號位,剩下的4-1=3位是數據位。所以數據為最多有8種編碼情況。000-111所以取值范圍為:-7(23-1)~-0和+0到+7,共15個數字。

計算機實際以補碼形式存儲整數。

  • 對于正數,補碼與原碼相同,范圍依舊是+0到+7(23-1)。
  • 對于負數,補碼是對其原碼逐位取反,但符號位除外;然后整個數加1。
  • -7的二進制原碼:1111,所以補碼為:1001。
  • -1的二進制原碼:1001,所以補碼為:1111。
  • -0的二進制原碼:1000,所以補碼為:0000。與+0相同。(所以用它來表示個其他數吧)

沒有任何數的補碼是:1000這個編碼。所以多出來了。所以,規定1000這個補碼編碼為-8。

綜上:4位二進制在計算機中,表示數據的范圍:-8(23)-7(23-1)。

總結:如果有符號類型數據部分占n位,則表示范圍為 -2n - +2n。

基本數據類型中int、long等整數類型取值范圍

原文鏈接:https://blog.csdn.net/u014339447/article/details/109055298

欄目分類
最近更新