java中的進位制轉換及轉換函式
進位制轉換原理
十進位制 轉 二進位制:
原理: 對十進位制數進行除 2 運算取餘。
6 --> 110
二進位制 轉 十進位制
原理: 二進位制 乘以 2 的n次冪 的過程
110 ->0*20 + 1*21 + 1 * 22
0 + 2 + 4=6
0 0 1 1 0 1 0 1
128 64 32 16 8 4 2 1 = 53
當 8個bit 都是 1 最大是 255 那麼一個位元組最大就是 255
負數的二進位制:
其實就是 十進位制數 轉換成
以-6為例,一個整數型別 是 4個位元組 1 int = 4 byte = 32 bit
0000-0000 0000-0000 0000-0000 0000-0110
1111-1111 1111-1111 1111-1111 1111-1001 取反
+ 0000-0000 0000-0000 0000-0000 0000-0001 +1
--------------------------------------------------
1111-1111 1111-1111 1111-1111 1111-1010 = -6
二進位制 轉 十六進位制
先將十進位制 轉成 二進位制 --> 十六進位制
四個二進位制位 就是 一個 十六進位制位
1111 最大值是 8+4+2+1 = 15 逢16進1
以 90為例:
0101-1010
---- ----
5 A 90 十六進位制表示為 0x5A
二進位制 轉 八進位制
三個二進位制位 就是一個 八進位制位
111 = 4+2+1 = 7 逢8進1
前面位數不夠 拿0補
001-011-010
--- --- ---
1 3 2 = 0132