常用的進制
- 生活常用的進制是十進制,十進制的權重為:
10^0、10^1、10^2..., - 計算機底層采用的是二進制,二進制權重為:
2^0、2^1、2^3、2^4...,
底層二進制使用最高位(最左邊)的代表符號位,若該位是0則表示為正數,若該位是1表示為負數,書寫二進制時習慣上從右向左沒四位間隔一個空格,
進制表示
- 二進制
0b或0B開頭, - 八進制
0開頭, - 十六進制
0x或0X開頭,
進制轉換
- 正十進制轉二進制:除二取余法、拆分法(將數字拆分為若干個權重的和,有該權重寫1,其它寫0),
45 使用拆分法轉為二進制:
45 = 32 + 8 + 4 + 1 // 拆分為權重的和
權重1=2^0為第一位
權重4=2^2為第三位
權重8=2^3為第四位
權重32=2^5為第六位
結果:10 1101 // 有權重寫1 無權重寫0
- 正二進制轉十進制:加權法(二進制的每個數字乘以當前位的權重然后相加),
10 1101 轉為十進制:
1*2^6 + 0*2^5 + 1*2^4 + 1*2^3 + 0*2^2 + 1*2^0 = 45
- 負十進制轉二進制:對絕對值轉換后,按位取反再加一,
-45 轉為二進制:
32+8+4+1
0010 1101 // 絕對值拆分法
1101 0010 // 取反
1101 0011 // 末尾加一 最終結果
- 驗證方法:正負二進制相加為0,高位溢位,
- 負二進制轉十進制:末尾減一,按位取反,然后轉換為十進制后取反,
負的二進制數 1101 0011 轉為十進制:
1101 0010 // 末尾減一
0010 1101 // 按位取反
32+8+4+1= 45 // 轉為十進制
-45 // 取反
單位元組能表示的整數范圍
- 在計算機中單個位元組表示八位二進制位,其中最高位(最左邊)代表符號位,使用0代表非負數,使用1代表負數,
- 非負數表示范圍:
0000 0000 ~ 0111 1111 => 0 ~ 127 => 0 ~ 2^7-1, - 負數表示范圍:
1000 0000 ~ 1111 1111 => -128 ~ -1 => -2^7 ~ -2^0, - 單個位元組表示的整數范圍是:
-2^7 ~ 2^7-1,也就是-128 ~ 127,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/270597.html
標籤:Java
上一篇:Java高并發25-獨占鎖ReentranLock的原理
下一篇:類的執行程序
