给定一个double num,范围是0到1的实数,若其能用32位以内的二进制表示出来则返回值string为其二进制值,若不能则返回值为“Error”。
测试样例:
0.625
返回:0.101
# -*- coding:utf-8 -*- class BinDecimal: def printBin(self, num): if num >= 1 or num <= 0: return "Error" binary = ['0', '.'] while num > 0: if len(binary) >= 32: return "Error" r = num * 2 if r >= 1: binary.append('1') num = r - 1 else: binary.append('0') num = r return ''.join(binary)