作者:lock2502898047_947 | 来源:互联网 | 2023-07-26 13:36
*2的2次方42的3次方82的4次方162的5次方322的6次方642的7次方1282的8次方2562的9次方5122的10次方10242的11次方10242的12次方20482的
/*
2 的 2次方 == 4
2 的 3次方 == 8
2 的 4次方 == 16
2 的 5次方 == 32
2 的 6次方 == 64
2 的 7次方 == 128
2 的 8次方 == 256
2 的 9次方 == 512
2 的 10次方 == 1024
2 的 11次方 == 1024
2 的 12次方 == 2048
2 的 13次方 == 4096
2 的 14次方 == 8192
二进制(Binary):
在机器码的二进制中,如何去计算二进制转十进制? 从右向左,当前数字对应的索引下标 就是 几次方,如果当前位置是1 就是 1*2的索引次方 如果是 0 那就是0.每个位置的 1进行相加就行了,最后得到的就是十进制.
11001010 二进制转换十进制 == 202
1*(2 的7次方) == 128
1*(2 的6次方) == 64
0*(2 的5次方) == 0 这里等于 0*32 ,0乘啥都等于0
0*(2 的4次方) == 0
1*(2 的3次方) == 8
0*(2 的2次方) == 0
1*(2 的1次方) == 2
0*(2 的0次方) == 0 任何数的0次方都等于1 然后从上往下把等到的数 全部以十进制的加法加在一块就等到了十进制的数
128+64+0+0+8+0+2+0 == 128+64+8+2 == 202
十进制转二进制 是通过,十进制的数,不断的除以 2 得到的余数,进行连接, 当除以2后的得数等于0为止,然后我们从最后面的余数开始组拼,拼接到第一次的余数,就是转换成二进制了.
202 十进制转换二进制 == 11001010
200/2 = 101 余数 0
101/2 = 50 余数 1
50/2 = 25 余数 0
25/2 = 12 余数 1
12/2 = 6 余数 0
6/2 = 3 余数 0
3/2 = 1 余数 1
1/2 = 0 余数 1 从这里向上拼接 11001010 为什么要从下往上拼接呢,因为第一次的余数是个位开始的.
十六进制(Hexadecimal)
16 2次方 == 256
16 3次方 == 4096
16 4次方 == 65536
16 5次方 == 1048576
16 6次方 == 16777216
16 7次方 == 268435456
16 8次方 == 4294967296
二进制和十六进制的对应关系:
二进制 十六进制
0 0
1 1
10 2
11 3
100 4
101 5
110 6
111 7
1000 8
1001 9
1010 A
1011 B
1100 C
1101 D
1110 E
1111 F
为什么程序员要用十六进制表示法来替代二进制,那么他们为什么不用十进制呢?
主要由于十六进制表示法有两个非常好的特性:
它很紧凑;
在二进制和十六进制之间的转换非常容易.(重点)
十六进制 是从 0到9 A到F
A==10 B==11 C==12 D==13 E==14 F==15 这里没有16,因为是从0开始的. 就像二进制 只有0和1 ,与十进制不一样,
十六进制转换成十进制与二进制转换十进制一样, 只是把2 替换成16了
1234 十六进制转换十进制:
1*(16 的3次方) == 4096
2*(16 的2次方) == 512
3*(16 的1次方) == 48
4*(16 的0次方) == 4
4096+512+48+4 == 4660 转换成功
十六进制转换二进制就非常的简单了.通过上面二进制和十六进制的对应关系表就能知道怎么转换了.直接用表去对应就可以了,例如数据:
二进制的 1011110110101010 我们把它每4位进行分割得到如下数据,4位对应表中的十六进制进行转换就OK了:
1011 1101 1010 1010(2进制) == BDAA(16进制) == (8+0+2+1) + (8+4+0+1) + (8+0+2+0) + (8+0+2+0) (10进制)
可以不用背诵,直接找个对照图就行了.
十六进制转换二进制 也是对照图......脑残不会转.
我们以十六进制来替代二进制的表示,这样就可以让我们可以非常容易的阅读了.
*/