用户:
SLC_KinGMonKeY查看:0 回复:0 评论:0 创建时间:2022-08-06T12:15:38
二进制的基本工作原理比较简单,整体有0(flase)和1(true)两个数字组成。
本节课我们将教学四位二进制数和与二进制数转化为十进制数的方法。
1.建立数字
建立二进制数,我个人认为才用单个数位一变量的方式建立。
a = 0
b = 0
c = 0
d = 0
变量a,b,c,d是一个二进制数的四个数位上的数。
2.实现进位。
二进制数才用逢二进一的方式进位,换个说法讲:
if (d == 2):
c += 1
d = 0
当数位d为2时,逢二进一。c就进一位,d则清空。
因此:
if (int(d) == 2): #d向c进位
c += 1
d = 0
if (int(c) == 2): #c向b进位
b += 1
c = 0
if (int(b) == 2): #b向a进位
a += 1
b = 0
3.二进制单次计数
这一部分比较简单,不详细介绍。
while True:
word = str(input())
if (word == '+'):
d += 1
if (int(d) == 2):
c += 1
d = 0
if (int(c) == 2):
b += 1
c = 0
if (int(b) == 2):
a += 1
b = 0
print(a,b,c,d)
4.实现二进制数转化为10进制数
对于一个二进制数(1011)2,我们规定:
“按权展开求和”,该方法的具体步骤是先将二进制的数写成加权系数展开式,而后根据十进制的加法规则进行求和
(1011)2=1*2^3+0*2^2+1*2^1+1*2^1=(11)10
我们可以:
while True:
word = str(input())
if (word == '+'):
d += 1
if (int(d) == 2):
c += 1
d = 0
if (int(c) == 2):
b += 1
c = 0
if (int(b) == 2):
a += 1
b = 0
print(a,b,c,d)
elif (word == 'print'):
print(a,b,c,d,"[2]")
print((a*8)+(b*4)+(c*2)+(d*1),"[10]")
本期教程程序代码:(模板)
import print("please wait")
a = 0
b = 0
c = 0
d = 0
while True:
word = str(input())
if (word == '+'):
d += 1
if (int(d) == 2):
c += 1
d = 0
if (int(c) == 2):
b += 1
c = 0
if (int(b) == 2):
a += 1
b = 0
print(a,b,c,d)
elif (word == 'print'):
print(a,b,c,d,"[2]")
print((a*8)+(b*4)+(c*2)+(d*1),"[10]")
else :
print("ERROR")