怎么学二进制数?

来源:百度知道 编辑:UC知道 时间:2024/05/25 21:21:02
希望大家给个好答案!谢谢了先!
补充一下,“买本书,推荐“二进制入门” ”
哪里可以下载?

可以通过分析熟悉的十进制来学习二进制,以致其他任意进制
我们熟悉的十进制是这样的:个位的基数是1,个位上出现的数字有几就代表这个数中包含几个1,而十位的基数是10,是个位(右边位)乘以10得到的(十进制),十位上出现的数字是几,则这个数中包含几个10,之后类推百位是十位乘以10,...,比如2015,包含2个1000,0个100,1个10,5个1,表达式为2*1000+0*100+1*10+5*1;那么小数呢,小数点后面第1位是0.1(即1/10),是个位除以10得到的,小数点后面第2位是前一位(左边位)除以10得到的,比如:3.14=3*1+1*1/10+4*1/100=3*1+1*0.1+4*0.01换句话说3.14包含3个1,1个0.1和4个0.01。
好相对着来学二进制,个位还是1,这个所有我们要学的进制都不会变,向左一位是个位乘以2等于2,再写一位等于前一位再乘以2;小数点每位是前一位(左边的)除以2。则二进制每位上的基数可以写出来:
16 8 4 2 1. 1/2 1/4 1/8 1/16或者写成16 8 4 2 1. [0.5][0.25][0.125][0.0625]
有了以上这串数字,二进制数转成十进制就简单了:比如转换1010.0101成十进制,则我们写出二进制基数,小数点前后各写4位,从个位分别向前、向后写
8 4 2 1.[0.5][0.25][0.125][0.0625] 然后将要转换的数按照位对齐写在下面一行
1 0 1 0. 0 1 0 1
然后上下做乘法,结果左右做加法(回忆一下十进制的算法)=1*8+0*4+1*2+0*1+0*0.5+1*0.25+0*0.125+1*0.0625=8+2+0.25+0.0625=10.3125
这个算法使用于所有进制噢,只要第1行的基数改写一下,乘以或除以2的地方改成乘以或除以n,n进制的数都能转换成十进制啦。这个应该不用记忆任何公式、不用进行指数运算,从个位1开始就都能笔算了。

再看反着转换,从十进制转二进制,举例:45.625转二进制,还是先写二进制基数,整数部分写到比45大为止,小数部分不用写
64 32 16 8 4 2 1.