啥是二进制计数法?
二进制计数法是计算机设计的基础,它只用两个数码0和1来表示数,在计数时,满二进一(而十进制计数法需要十个数码0,1,2,3,4,5,6,7,8,9,在计数时是满十进一).
十进制中的数码0,在二进制中仍是0,十进制中的1,在二进制中也仍是1.但十进制中的2,在二进制中就没有2,那如何表示二进制中的2呢?
十进制中的加法运算在二进制中仍然成立。二进制中的2就是二进制中的1+1的和,由于1+1满2就得进一,由于恰好是2,所以末位数(相当于十进制中的个位数)记为0,前一位数(相当于十进制中的十位数)记为1,结果就是10.也就是说,二进制中的1+1=10;
同样地,在二进制中的1011+11,其算法类似于十进制中的加法,但要注意满2进一,不能出现0和1以外的数码。将1011的“个位数1”与11的“个位数1”相加,得10,写0进1;再将1011的“十位数1”与11的“十位数1”相加,得10,再加上进位得到的1,得11,写1进1,再将1011中的10与进位的1相加,得10+1=11。
所以二进制中的1011+11=1110;
为了表示一个数是二进制记数法,通常在这个数的右下角写上(2).如十进制中的2在二进制中写成10(2),3在二进制中写为11(2),4写成100(2),5写成101(2),6写成110(2),…,也就是说,在二进制中,0+0=0(也可以看作是十进制中的0+0=0),二进制中1+1=10(即十进制中的1+1=2),二进制中的10+1=11(即十进制中的2+1=3),二进制中的11+1=100(即十进制中的3+1=4),二进制中的100+1=101(即十进制中的4+1=5)……
二进制数通常写成以2为底数的幂的和的形式.即二进制的数:N=a1a2…an(a1,a2,…,an为1或0)可以写成N=a1×2n-1+a2×2n-2+…+an×20(这里20=1),计算后的结果便是十进制中的数.如:
11010011(2)化为十进制的数是:
1×27+1×26+0×25+1×24+0×23+0×22+1×21+1×20+
=1×128+1×64+0+1×16+0+0+1×2+1×1=211.
因此,二进制中的11010011化为十进制,就是211.
反过来,要把一个十进制的数化为二进制的数,一般有两种方法:
1.把十进制的数写成以2为底的幂的和的形式.如:化22为二进制数.
因为22=16+4+2=24+22+21,
所以22=1×24+0×23+1×22+1×21+0×20
把2的n次幂前的数1,0,1,1,0依次排列即得10110,这就是十进制中的22在二进制中对应的数.
2.利用二除取余法:即把十进制数除以2,一直除到商为0为止,每次取余数0或者1,依次作为从右边到左边的字节.如:化22为二进制数.
22÷2=11……0,11÷2=5……1,5÷2=2……1,2÷2=1……0,1÷2=0……1
所以22=10110(2).,
在二进制中同样可以进行减法运算.如10-10=0,110-11=11,1011-1101=-(1101-1011)=-10.
思考下列问题:
(1)十进制中的16在二进制中对应的数是 ,二进制中的111001在十进制中对应的数是 ;
(2)在二进制中计算:101+11= ,10111-11001= ;
(3)请利用二进制记数法计算1+2+22+23+…+22013-22014.