我们可以使用以下算法在 Python 中实现正整数的十进制到二进制转换,该算法将整数 n 作为输入并返回包含 n 的二进制表示的 1 和 0 的字符串。
编写一个函数 int_to_bin_string(n)(在 int_to_bin_string.py 中),它接受一个非负整数 n 并返回一个由 1 和 0 组成的字符串。
我们不允许使用任何内置的 python 函数将数字转换为字符串,反之亦然。
def int_to_bin_string(n):
if n == 0:
return "0"
s = ''
while n > 0:
if n % 2 == 0:
ch = "0"
else:
ch = "1"
s = s + ch
n = n/2
return s
这就是我尝试过的。当我尝试 int_to_bin_string(255) 我得到 '1',而不是 '11111111'
现在可以了!