Java进制之间的转换
进制:
我们生活中使用的是十进制
计算机中使用的是二进制
在Java中的进制的分类?
十进制:逢十进一
二进制:逢二进一
八进制:逢八进一
十六进制:逢十六进一
10 -> A
11 -> B
12 -> C
13 -> D
14 -> E
15 -> F
在计算机中,数据最终都会变成二进制,也就是由多个1或者多个0来组成的,而每一个1或者0都称为一个bit,或者位
注意:在计算机中进行储存和运算的最小单位是字节(byte)
1byte = 8bit
1KB = 1024byte
1MB = 1024KB
1GB = 1024MB
1TB = 1024GB
进制的转换?
8421码 快速转换法
二进制 -----> 十进制
01101100 108
0 1 1 0 1 1 0 0
2^7 2^6 2^5 2^4 2^3 2^2 2^1 2^0
128 (64)(32) 16 (8) (4) 2 1
如果是 1 的话 ,下面对应的数相加 4+ 8 + 32 + 64 = 108
二进制 -----> 八进制 *因为是2的3次幂是8.所以三个三个为一体
01101100 154
( 0 1 ) ( 1 0 1) ( 1 0 0)
2^1 2^0 2^2 2^1 2^0 2^2 2^1 2^0
2 (1) (4) 2 (1) (4) 2 1
每一组下面的1相加,然后整体合并如:
1 4 + 1 = 5 4
以上合并就是8进制的结果 ------> 154
二进制 -----> 十六进制 *因为是2的4次幂是16.所以四个四个为一体
01101100 6c = 0x6C
( 0 1 1 0) ( 1 1 0 0)
2^3 2^2 2^1 2^0 2^3 2^2 2^1 2^0
8 (4) (2) 1 (8) (4) 2 1
每一组下面的1相加,然后整体合并如:
6 12 = C
以上合并就是十六进制的结果 ------> 6c
十进制 -----> 二进制
111 01101111
0 1 1 0 1 1 0 0
2^7 2^6 2^5 2^4 2^3 2^2 2^1 2^0
128 64 32 16 8 4 2 1
计算:
111 - 128 不可以减
111 - 64 = 47 可以
47 - 32 = 15 可以
15 - 16 不可以
15 - 8 = 7 可以
7 - 4 = 3 可以
3 - 2 = 1 可以
1 - 1 = 0 可以
减法成功的变1,不成功为 0 ,所以结果为 01101111
其实也不难,就是根据公式算下,了解这个知识点就可以,遇到问题 直接计算器就好。
本文来自博客园,作者:Bytezero!,转载请注明原文链接:https://www.cnblogs.com/Bytezero/p/18055524