计算机中的B和D分别代表二进制(Binary)和十进制(Decimal),它们之间的换算关系如下:
二进制到十进制的转换
二进制数转换为十进制数时,从右往左数,每一位的权值为2的(位数-1)次方。
例如,二进制数1100111转换为十进制数为:
\[
1 \times 2^6 + 1 \times 2^5 + 0 \times 2^4 + 0 \times 2^3 + 1 \times 2^2 + 1 \times 2^1 + 1 \times 2^0 = 64 + 32 + 0 + 0 + 4 + 2 + 1 = 103
\]
十进制到二进制的转换
十进制数转换为二进制数时,通过不断除以2并取余数,然后将余数倒序排列。
例如,十进制数103转换为二进制数为:
\[
103 \div 2 = 51 \quad \text{余数} \ 1
\]
\[
51 \div 2 = 25 \quad \text{余数} \ 1
\]
\[
25 \div 2 = 12 \quad \text{余数} \ 1
\]
\[
12 \div 2 = 6 \quad \text{余数} \ 0
\]
\[
6 \div 2 = 3 \quad \text{余数} \ 0
\]
\[
3 \div 2 = 1 \quad \text{余数} \ 1
\]
\[
1 \div 2 = 0 \quad \text{余数} \ 1
\]
倒序排列余数得到二进制数1100111。
示例
假设有一个二进制数1100111.011,要转换为十进制数:
小数点前的部分:1100111
\[
1 \times 2^6 + 1 \times 2^5 + 0 \times 2^4 + 0 \times 2^3 + 1 \times 2^2 + 1 \times 2^1 + 1 \times 2^0 = 64 + 32 + 0 + 0 + 4 + 2 + 1 = 103
\]
小数点后的部分:011
\[
0 \times 2^{-1} + 1 \times 2^{-2} + 1 \times 2^{-3} = 0 + 0.25 + 0.125 = 0.375
\]
合起来就是103.375。
总结
二进制转十进制:从右往左数,每位乘以2的(位数-1)次方。
十进制转二进制:不断除以2并取余数,倒序排列余数。