菜比之路

走菜比的路,让大牛说去吧
  博客园  :: 首页  :: 新随笔  :: 联系 :: 管理

【java】进制转换

Posted on 2017-10-12 13:30  毕加索的ma  阅读(638)  评论(0编辑  收藏  举报

进制的表现形式:

十进制:0-9 ,满10 进1

八进制:0-7,满8进1,用0开头表示

十六进制:0-9,A-F,满16进1,用0x开头表示

 

十进制转换二进制:

原理:对十进制数进行除2运算,如37的二进制

所以37的二进制为100101.

二进制转换为十进制:

原理:二进制乘以2的幂的过程。

 

0     0     1     1    0     1    0     1

*      *      *      *     *      *    *       *     

27 26 25   24    23     22   21 20

||      ||      ||       ||      ||        ||      ||      ||

0       0    32    16     0      4      0     1   =         53

 

技巧:记住对应的位权

        20                 21                22                   23                24                   25                     26                     27                     28                       29                         210                        211           
        1          2          4          8        16         32           64         128        256         512         1024        2048

 

 

0     0     1     1    0     1    0     1

*      *      *      *     *      *    *       *  

128  64  32  16  8     4    2     1

||      ||      ||       ||      ||        ||      ||      ||

0       0    32    16     0      4      0     1   =         53

 

二进制转换八进制:

原理:三个二进制代表一个八进制位

如1011010

001----011----010

1            3         2   =0132(八进制表示)

 

二进制转换十六进制:

原理:四个二进制代表一个十六进制位

如1011010

0101----1010

 5             A(10)  =0x5A(十六进制表示)

 

小知识:为啥子网掩码都是255,因为一个字节是八位,也就是1111111转换为十进制正好为255