java基础(八)进制

对于整数:有四种表现形式
二进制:0,1  满2进1
八进制:0-7,满8进1   用0开头
十进制:0-9,满10进1
十六进制:0-9,A-F,满16进1  用0x开头


【进制的由来】


计算机中存储的都是电信号,电信号包含的信号无非就是0,1,计算机中的文字、图片都是电信号演变来的。但是由0,1能表示的东西太少了,所以为了表示的东西更多,用8个0,1来表示。
所以  1byte字节=8个二进制位。

【进制转换】


二进制转成其他进制:


以0101011为例

十进制:


把二进制位上的每个最大整数先算出来,这样做比较简单


 0   1    0   1    0    1   1
64  32  16  8    4   2   1


所以0101011的十进制是:43

八进制:因为每三个二进制位能代表的最大数是7,所以以三个二进制位代表一个八进数。

101-011
 5   3           
   
所以0101011的八进制就是053

十六进制:同理,四个二进制为可以作为一个十六进制位
 0010- 1011
   2     11
所以0101011的十六进制为  0x2B

十进制转其他进制:先转成二进制,再把二进制转成其他进制即可  

转成二进制


  以6为例
  6/2=3    ------0
  3/2=1    ------1
  1不能除2 ------1


所以6的二进制是110

八进制转成其他进制:
做法先把八进制转换成二进制,再从二进制转成其他进制
以35为例

转成二进制:

用三个二进制位表示一个八进制数

  3  5
 011-101


十六进制转成其他进制:做法跟八进制转其他进制是一样的

以35为例
转为二进制:
   3      5
 0011   0101

负数的进制
如-6
其实就是这个数的正数的二进制取反,加1
           0000-0110
 取反   1111-1001
    
  +1    0000-0001
----------------------
          1111-1010    =-6     

负数的二进制的最高位是1

猜你喜欢

转载自blog.csdn.net/qq_35494622/article/details/80296413
今日推荐