一、十进制小数转换成二进制小数
【问题描述】
编写程序,输入十进制小数(只考虑正数),把它转换为以字符串形式存储的二进制小数,输出该二进制小数字符串。对于转换得到的二进制小数,小数点后最多保留10位。小数点后不足10位,则输出这些位,尾部不补0;小数点后超出10位,则直接舍弃超出部分。
【输入形式】
十进制浮点小数
【输出形式】
对应输入小数的二进制小数字符串。若整数部分或者小数部分为0,则输出0。比如输入0,则意味着输出0.0 。
【样例输入】
1.2
【样例输出】
1.0011001100
【样例说明】
输入为10进制小数,将该小数转化成二进制后输出。推荐采用字符串来处理生成的二进制数,特别要注意0的处理
def zheng(m):
s = ''
while m != 0:
r = m % 2
m = m // 2
s = str(r) + s
return s
def xiao(x):
s = ''
i = 0
while x != 0 and i <= 9:
x = x * 2
if x >= 1:
s = s + '1'
x = x - 1
else:
s = s + '0'
i += 1
return s
e = input()
b = eval(e)
c = int(b)
d = ''
for k in range(0, len(e)):
if e[k] == '.':
d = '0.' + e[k + 1:len(e)]
if c == 0 and d == '':
print('0'+'.'+'0')
elif c