二进制算法
春节加班工资-
二进制乘法和加法都是通过对二进制数的移位来实现的,移位相当于
×<
/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
位的系数,它为
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
1×
0
=
0
0×
1
=
0
1×
1
=
1
p>
【例
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
(
p>
这些计算就跟十进制的加或者乘法相同,只是进位的数不一样而已
,
十进制
的是到十才进位这里是到
2
p>
就进了
)
3.
二进制减法
p>
0
-
0
=
0
,
1
-
0
=
1
,
< br>1
-
1
=
0
,
10
-
1
=
1
。
4.
二进制除法
p>
0÷
1
=
0
,
1÷
1
=
1
。
[1][2]
5.
二进制拈加法
拈加法二进制加减乘除外的一种特殊算法。
p>
拈加法运算与进行加法类似,但不需要做进位。此算法在博弈论(
G
ame
Theory
)中被广泛利用。
十进制数转换为二进制数、八进制数、十六进制数的方法:
p>
二进制数、
八进制数、
十六进制数转换为十
进制数的方法:
按权展开求和法
1
.二进制与十进制间的相互转换:
p>
(
1
)二进制转十进制
方法:
“
按权展开求和
”
例:
<
/p>
(
1011.01
)
2
=(
1×
2^3
+
0×
2^2
+
1×
2^1
+
1×
2^0
+
0×
2^(
-1)
+
1×
2^(-2)
)
10
=(
8<
/p>
+
0
+
2
+
1
+
0
+
0.25
)
10
p>
=(
11.25
)
10
规律:个位上的数字的次数是
0
,十位
上的数字的次数是
1
,
......<
/p>
,依奖递
增,而十
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
取整,顺序排列
”
(乘
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
.八进制与二进制的转换:
p>
二进制数转换成八进制数:从小数点开始,整数部分向左、小数部分向右,
< br>每
3
位为一组用一位八进制数的数字表示,不足
3
位的要用
“0”
补足
3
位,就得
到一个八进制数。
八进制数转换成二进制数:
把每一个
八进制数转换成
3
位的二进制数,
就得
到一个二进制数。
八进制数字与二进制数字对应关系如下: