1. 程式人生 > >java中的進位制轉換及轉換函式

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

 當 8bit 都是 1  最大是 255 那麼一個位元組最大就是 255

   負數的二進位制:

 其實就是 十進位制數 轉換成

二進位制數後 取反+1

    -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 161

        以  90為例:

         0101-1010

           ----   ----

           5        A        90 十六進位制表示為 0x5A

 二進位制 八進位制

    三個二進位制位 就是一個 八進位制位

          111 = 4+2+1 = 7 81

    前面位數不夠 0

         001-011-010

            --- --- ---

            1   3   2   = 0132