二、八、十,十六进制相互转化

2020-06-22  本文已影响0人  wangxiaojin

1.java 进制:

二进制:0 1 满2进1

八进制:0-7 满8进1

十进制:0-9 满10进1

十六进制:0-9 A-F A代表10,B11,C12,D13,E14,F15 用0x开头

进制越大,表现是形式越短。二进制太长了

2.十进制转二进制(原理是对十进制进行除2运算)


image.png
        System.out.println(Integer.toBinaryString(6));

3.二进制转十进制
11001===》6
1x2^0 +0x21+0x22 + 1x23+1x24=25
简便方法
如11001=?
..... 1 1 0 0 1
.....256 128 64 32 16 8 4 2 1

1x1+0x2+0x4+1x8+1x16=25

0位不用算,只需要累加1位的值

4.十进制转十六进制(先将十进制转二进制再转十六进制)

二进制的4位表示16进制

列如
十进制 90
二进制 0101 1010
十六进制 5 10 ===》0x5A (十六进制A表示10)

5 .十进制转八进制(先将十进制转二进制再转八进制)

二进制的3位表示16进制

列如
十进制 90
二进制 001 011 010(凑3位不够补0)
八进制 1 3 2 ===>0x132

6.负数的二进制表现形式
列如6
二进制是110
-6 是 6的二进制取反+1
6在内存中表现形式
0000-0000 0000-0000 0000-0000 0000-0110

-6在内存中表现形式
1111-1111 1111-1111 1111-1111 1111 -1010

取反的是将0变1,1变0 最后加1运算,得到负数二进制
负数二进制最高位是1,正数二进制最高位是0

上一篇 下一篇

猜你喜欢

热点阅读