分类: WINDOWS
2011-11-04 17:06:37
十进制转二进制
原来的方法:
用2辗转相除至结果为1
将余数和最后的1从下向上倒序写 就是结果
例如302
302/2 = 151 余0
151/2 = 75 余1
75/2 = 37 余1
37/2 = 18 余1
18/2 = 9 余0
9/2 = 4 余1
4/2 = 2 余0
2/2 = 1 余0
故二进制为100101110
转换所依据的理由与二进制数转十进制数完全一样,这里就不再赘述。我们同样以“除以2反向取余”、“乘2正向取整”的方法中的例题为例:
(29.375)10 = ( )2
第一步:与二进制转十进制相同,先画出一定数目的代表“位”的标记“×”,并在标记上方写上对应的值,转换时同样分整数部分与小数部分分别进行。
••• |
64 |
32 |
16 |
8 |
4 |
2 |
1 |
. |
0.5 |
0.25 |
0.125 |
0.0625 |
••• |
••• |
× |
× |
× |
× |
× |
× |
× |
. |
× |
× |
× |
× |
••• |
第二步:(整数部分转换开始)在标记数字中找到最大的小于被转换数的数字,这里最大的小于 29 的数字 为 16 ,则在该数字位的标记下方写上“1”;
••• |
64 |
32 |
16 |
8 |
4 |
2 |
1 |
. |
0.5 |
0.25 |
0.125 |
0.0625 |
••• |
••• |
× |
× |
× |
× |
× |
× |
× |
. |
× |
× |
× |
× |
••• |
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
第三步:将29 减去 16 :29-16=13 ;再找小于余数 13 的最大数字为 8 ,则在 8 数字位的标记下方写上“1”;
••• |
64 |
32 |
16 |
8 |
4 |
2 |
1 |
. |
0.5 |
0.25 |
0.125 |
0.0625 |
••• |
••• |
× |
× |
× |
× |
× |
× |
× |
. |
× |
× |
× |
× |
••• |
|
|
|
1 |
1 |
|
|
|
|
|
|
|
|
|
第四步:继续将 13 减去 8:13-8=5 ;找小于余数 5 的最大数字为4 ,则在4数字位的标记下方写上“1”;如:
••• |
64 |
32 |
16 |
8 |
4 |
2 |
1 |
. |
0.5 |
0.25 |
0.125 |
0.0625 |
••• |
••• |
× |
× |
× |
× |
× |
× |
× |
. |
× |
× |
× |
× |
••• |
|
|
|
1 |
1 |
1 |
|
|
|
|
|
|
|
|
第五步:继续将 5 减去 4 :5-4=1 ;余数正好等于数字 1 ,则在1数字位的标记下方写上“1”;
••• |
64 |
32 |
16 |
8 |
4 |
2 |
1 |
. |
0.5 |
0.25 |
0.125 |
0.0625 |
••• |
••• |
× |
× |
× |
× |
× |
× |
× |
. |
× |
× |
× |
× |
••• |
|
|
|
1 |
1 |
1 |
|
1 |
|
|
|
|
|
|
第六步:(小数部分开始)在标记数字中找到最大的小于被转换数的数字,这里最大的小于0.375 的数字为0.25 ,则在该数字位的标记下方写上“1”
••• |
64 |
32 |
16 |
8 |
4 |
2 |
1 |
. |
0.5 |
0.25 |
0.125 |
0.0625 |
••• |
••• |
× |
× |
× |
× |
× |
× |
× |
. |
× |
× |
× |
× |
••• |
|
|
|
1 |
1 |
1 |
|
1 |
|
|
1 |
|
|
|
第七步:将0.375 减去 0.25 :0.375-0.25=0.125;余数正好为0.125,直接在0.125数字位的标记下方写 上“1”;
••• |
64 |
32 |
16 |
8 |
4 |
2 |
1 |
. |
0.5 |
0.25 |
0.125 |
0.0625 |
••• |
••• |
× |
× |
× |
× |
× |
× |
× |
. |
× |
× |
× |
× |
••• |
|
|
|
1 |
1 |
1 |
|
1 |
|
|
1 |
1 |
|
|
第八步:其余没写“1”的位,全部以“0”来补足,小数点千万别忘记!
••• |
64 |
32 |
16 |
8 |
4 |
2 |
1 |
. |
0.5 |
0.25 |
0.125 |
0.0625 |
••• |
••• |
× |
× |
× |
× |
× |
× |
× |
. |
× |
× |
× |
× |
••• |
|
|
|
1 |
1 |
1 |
0 |
1 |
|
0 |
1 |
1 |
|
|
第九步:结论 (29.375)10 = ( 11101.011 )2 与教程中的转换结果一吗?
在实际的换算过程中,只要直接在第八步中填写相应数据,然后用第九步写出相应的转换结果。就可以了