java学习笔记:进制

来源:互联网 发布:算法的乐趣 epub 编辑:程序博客网 时间:2024/06/04 18:57

java学习笔记:进制


java学习笔记:进制
八进制:三个二进制数代表一个数
十六进制:四个二进制数代表一个数
特点:进制越大,表现形式越短。


十进制->二进制:对十进制数进行除2运算
例子:
6/2=3...0
3/2=1...1
1/2=0...1
所以6的二进制数为110


二进制->十进制:二进制数乘以2的过程。
例子:110
0*2(0)+1*2(1)+1*2(2)
=0+2+4
=6
所以110的十进制数为6


简单记法:
      1   1  1   1  1  1  1  1
    128  64  32 16  8  4  2  1
5=4+1=101
4=100


其它进制转换
例子:0101-1010
转成16进制0x:四个二进制位就是一个十六进制位
1010=8+2=10=A
0101=4+1=5
所以0101-1010=0x5A


转成8进制o:三个二进制位代表一位从右往左数,不足三位的在前面补零
0101-1010==>001-011-010
010=2
011=2+1=3
001=1
所以0101-1010=o132


负数的二进制表现形式
6=110
-6:其实就是6的二进制数取反+1
6是个整数,占了4个字节,一个字节占8个位
0000-0000 0000-0000 0000-0000 0000-0110
取反:将二进制的1变成0,0变成1
1111-1111 1111-1111 1111-1111 1111-1001
加1:
0000-0000 0000-0000 0000-0000 0000-0001
相加:
1111-1111 1111-1111 1111-1111 1111-1010
这就是-6的二进制数
java程序:System.out.println(Integer.toBinaryString(-6));
结论:负数的最高位都是1

原创粉丝点击