二进制算法

绝世美人儿
808次浏览
2021年02月08日 10:00
最佳经验
本文由作者推荐

春节加班工资-

2021年2月8日发(作者:夏有乔木)


二进制乘法和加法都是通过对二进制数的移位来实现的,移位相当于


×< /p>


2


,计算


机算根据给出的加法式子与乘法 式子算要移多少位。



扩展:




1


、二进制数据的表示法





二进制数据也是采用位置计数法,


其位权是以


2


为底的幂。


例如二进制数据


110.11


,其权的大小顺序为< /p>


2^2



2^1



2^0



2^-1

< br>、


2^-2


。对于有


n


位整数,


m


位小数的二进制数据用加权系数展开 式表示,可写为:






a(n-1)a(n-


2)…a(


-m)



2



a(n-1)×


2^(n-1)+a(n-2)×


2^ (n-


2)+……+a(1)×2^1+a(0)×2^0


+a (-1)×


2^(-1)+a(-2)×


2^(-


2)+……+a(


-m)×


2^(-m)




二进制数据一般可写为:(


a(n-1)a(n-


2)…a(1)a(0).a(


-1)a(-


2)…a(


-m)



2






注意:





1.


式中


a j


表示第


j


位的系数,它为

< p>
0



1


中的某一个数。< /p>





2.a( n-1)


中的


(n-1)


为下标,输入 法无法打出所以用括号括住,避免混淆。





3.2^2


表示

2


的平方,以此类推。





【例


1102


】将二进制数据


111.01


写成加权系数的形式。





解:(


111.01



2


=< /p>


(1×


2^2)+(1×


2^1)+(1 ×


2^0)+(0×


2^-1)+(1×


2^-2)




二进制和十六进制,八进制一样,都以二的幂来进位的。






二进制 数据的算术运算的基本规律和十进制数的运算十分相似。


最常用的是

加法运算和乘法运算。







1.


二进制加法








有四种情况:



0+0



0






0+1



1






1+0



1







1+1



10


进位为


1






【例


11 03


】求



(1101)2+(1011)2


的和







解:







1 1 0 1







+


1 0 1 1







-------------------






1 1 0 0 0







2.


二进制乘法







有四种情况:




0



0







0



0







1



0







1



1






【例


1104


】求



(1110)2



(101)2


之积







解:








1 1 1 0







×



 1 0 1







-----------------------






 1 1 1 0







 0 0 0 0







1 1 1 0







-------------------------






1 0 0 0 1 1 0







(


这些计算就跟十进制的加或者乘法相同,只是进位的数不一样而已


,


十进制


的是到十才进位这里是到


2


就进了


)






3.


二进制减法







0



0



0



1



0



1


< br>1



1



0



10



1



1








4.


二进制除法








1



0




1



1



[1][2]






5.


二进制拈加法







拈加法二进制加减乘除外的一种特殊算法。







拈加法运算与进行加法类似,但不需要做进位。此算法在博弈论(


G ame


Theory


)中被广泛利用。






十进制数转换为二进制数、八进制数、十六进制数的方法:







二进制数、


八进制数、


十六进制数转换为十 进制数的方法:


按权展开求和法







1


.二进制与十进制间的相互转换:








1


)二进制转十进制






方法:



按权展开求和








例:


< /p>



1011.01


2


=(



2^3




2^2


< p>


2^1




2^0




2^( -1)




2^(-2)



10






=(


8< /p>



0



2



1



0

< p>


0.25



10






=(


11.25



10






规律:个位上的数字的次数是


0


,十位 上的数字的次数是


1



......< /p>


,依奖递


增,而十







分位的数字的次数是


-1


,百分位上数字的 次数是


-2



......

< p>
,依次递减。







注意:不是任何一个十进制小数都能转换成有限位的二进制数。








2


)十进制转二进制






·



十进制整数转二进制数:



除以


2


取余,逆序排 列



(除二取余法)







例:




89



10


=(


1011001



2






2 89 ……1







2 44 ……0







2 22 ……0







2 11 ……1







2 5 ……1







2 2 ……0







1







·



十进制 小数转二进制数:



乘以


2

< p>
取整,顺序排列



(乘


2


取整法)







例:



(0



625)10= (0



101)2






0.625X2=1.25 ……1







0.25 X2=0.50 ……0







0.50 X2=1.00 ……1







2


.八进制与二进制的转换:







二进制数转换成八进制数:从小数点开始,整数部分向左、小数部分向右,

< br>每


3


位为一组用一位八进制数的数字表示,不足


3


位的要用


“0”


补足


3


位,就得


到一个八进制数。







八进制数转换成二进制数:


把每一个 八进制数转换成


3


位的二进制数,


就得


到一个二进制数。







八进制数字与二进制数字对应关系如下:




春节加班工资-


春节加班工资-


春节加班工资-


春节加班工资-


春节加班工资-


春节加班工资-


春节加班工资-


春节加班工资-