资源描述
2进制数转换为10进制
(110)2转化为十进制
10进制整理转换成2进制
于是, 结果是余数倒排列, 即为:
(37)10=(a5a4a3a2a1a0)2=(100101)2
16进制转化成2进制、 2进制转化成16进制
(二进制和十六进制相互转换比较关键。不过这二者转换却不用计算, 每个C, C++程序员都能做到看见二进制数, 直接就能转换为十六进制数, 反之亦然。)
16进制转化成2进制: 每一位十六进制数对应二进制四位, 逐位展开。
二进制数转为十六进制: 将二进制数转换成十六进制数是将二进数整数部分从右向左每四位一组, 每一组为一位十六进制整数,不足四位时, 在前面补0
(FB)16=(1111 , 1011)2 互转
2进制与16进制关系:
2进制
0000
0001
0010
0011
0100
0101
0110
0111
16进制
0
1
2
3
4
5
6
7
2进制
1000
1001
1010
1011
1100
1101
1110
1111
16进制
8
9
A
B
C
D
E
F
能够用四位数二进制数来代表一个16进制, 如3A16 转为二进制为:
3为0011, A 为1010, 合并起来为00111010。能够将最左边0去掉得1110102
右要将二进制转为16进制, 只需将二进制位数由右向左每四位一个单位分隔, 将各单位对照出16进制值即可。
16进制数转换为10进制数
假设有一个十六进数 2AF5, 那么怎样换算成10进制呢?
用竖式计算: 2AF5换算成10进制:
直接计算就是:
5 * 16^0 + F * 16^1 + A * 16^2 + 2 * 16^3 = 10997
(别忘了, 在上面计算中, A表示10, 而F表示15)
假设有些人问你, 十进数 1234 为何是 一千二百三十四?
你尽能够给她这么一个算式: 1234 = 1 * 10^3 + 2 * 10^2 + 3 * 10^1 + 4 * 10^0
如十进制数2039
它能够表示为:2*10^3+0*10^2+3*10^1+9*10^0
那么任何进制数都一样,比如16进制数8A30E
它就是8*16^4+10*16^3+3*16^2+0*16^1+14*16^0=566030,
算出来值就是这个数对应十进制数
又比如k进制数abcdef(这是一个6位数)
它就是a*k^5+b*k^4+c*k^3+d*k^2+e*k^1+f*k^0
16进制数转换为10进制数
与10进制整理转换成2进制类似, 只是把除数改为16
除16取余
比如56
16|57 9
----
3
除数不够16除即停止 结果39H
比如337
16|337 1
----
16|21 5
---
1
结果151H
展开阅读全文