32位存储环境下整数范围为什么是[-2^31,2^31-1]?
一、概念:存儲單位
1.“位”是數據存儲的最小單位。在計算機中的二進制數系統中,位,簡記為bit,也稱為比特,每個0或1就是一個位。
2.“字節”是計算機信息技術用于計量存儲容量的一種計量單位,通常情況下,一字節有八位,簡稱為B。
3.“KB”(千字節)是一種資訊計量單位,現今通常在標示內存等具有一般容量的儲存媒介之儲存容量時使用。
二、二進制轉十進制的方法
例:二進制1101轉十進制___?
解:?1101 =1*2^0+0*2^1+1*2^2+1*2^3=1+0+4+8=13?
方法:從右到左用二進制的每個數去乘以2的相應次方 ,首次次方從0次開始。
三、等比數列求和公式
四、32位存儲環境下整數范圍為什么是[-2^31,2^31-1]?
1.int類型是4個字節,32位,最大值用二進制表示就是, 0111...(總共31個1)。
為什么第一位是0? 二進制里,最高位(第一位)表示符號:0表示正,1表示負。
2.計算:
0111...(總共31個1) = 1*2^0+1*2^1+...+1*2^30+0*2^31=1+2^1+2^2+...+2^30=2^31-1(等比數列求和公式計算)
3.為什么是[-2^31,2^31-1]而不是[-2^31,2^31]?
例:3位機(8位機為2^8)的話總長度是2^3,對有符號數來說各占一半,也就是2^2=4,也就是三位機的int范圍為(-4~+4),但是0被劃到了正數的范疇,所以三位機中int的范圍應該是(-4~+3).
同理,是[-2^31,2^31-1]而不是[-2^31,2^31]。
告辭!
如有錯誤,歡迎指正!
總結
以上是生活随笔為你收集整理的32位存储环境下整数范围为什么是[-2^31,2^31-1]?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: echarts图使用tab和下拉切换
- 下一篇: opencv videocapture读