如何使用 python 中的重复除法将十进制转换为二进制
how to convert decimal to binary by using repeated division in python
python如何用重复除法将十进制转为二进制?
我知道我必须使用 while 循环,并使用模数符号和其他 {%} 和 {//} 来做到这一点......但我需要一些例子来理解它是如何做到的我完全可以理解。
纠正我,如果我错了:
number = int(input("Enter a numberto convert into binary: "))
result = ""
while number != 0:
remainder = number % 2 # gives the exact remainder
times = number // 2
result = str(remainder) + result
print("The binary representation is", result)
break
谢谢
在没有任何条件的情况下制作 "break",使循环无用,因此无论如何代码只执行一次。
-
如果不需要保留原来的号码,可以随时更改"number"。
如果您确实需要保留原始数字,您可以创建一个不同的变量,例如 "times"。
你好像把这两种情况混在一起了。
-
如果要打印所有步骤,打印将在循环内,因此会打印多次。
如果只想打印最终结果,则打印在循环外。
while number != 0:
remainder = number % 2 # gives the exact remainder
number = number // 2
result = str(remainder) + result
print("The binary representation is", result)
-
连接线:
将打印放在循环中可能有助于您了解它的工作原理。
我们可以举个例子:
结果中的值可能是“11010”(带引号的字符串)
余数中的值可能为 0(整数,无引号)
str(remainder) 将余数变成字符串 = "0" 而不是 0
所以当我们看赋值语句时:
result = str(remainder) + result
首先计算赋值运算符 = 的右侧。
=的右边是
str(remainder) + result
正如我们上面所说的,它的值是:
"0" + "11010"
这是字符串连接。它只是将一根绳子放在另一根绳子的末端。结果是:
"0 11010"
"011010"
这是赋值语句右侧计算的值。
result = "011010"
这就是结果的值。
B_Number = 0
cnt = 0
while (N != 0):
rem = N % 2
c = pow(10, cnt)
B_Number += rem * c
N //= 2
# Count used to store exponent value
cnt += 1
return B_Number
python如何用重复除法将十进制转为二进制?
我知道我必须使用 while 循环,并使用模数符号和其他 {%} 和 {//} 来做到这一点......但我需要一些例子来理解它是如何做到的我完全可以理解。 纠正我,如果我错了:
number = int(input("Enter a numberto convert into binary: "))
result = ""
while number != 0:
remainder = number % 2 # gives the exact remainder
times = number // 2
result = str(remainder) + result
print("The binary representation is", result)
break
谢谢
在没有任何条件的情况下制作 "break",使循环无用,因此无论如何代码只执行一次。
-
如果不需要保留原来的号码,可以随时更改"number"。
如果您确实需要保留原始数字,您可以创建一个不同的变量,例如 "times"。
你好像把这两种情况混在一起了。
-
如果要打印所有步骤,打印将在循环内,因此会打印多次。
如果只想打印最终结果,则打印在循环外。
while number != 0:
remainder = number % 2 # gives the exact remainder
number = number // 2
result = str(remainder) + result
print("The binary representation is", result)
-
连接线:
将打印放在循环中可能有助于您了解它的工作原理。
我们可以举个例子:
结果中的值可能是“11010”(带引号的字符串)
余数中的值可能为 0(整数,无引号)
str(remainder) 将余数变成字符串 = "0" 而不是 0
所以当我们看赋值语句时:
result = str(remainder) + result
首先计算赋值运算符 = 的右侧。
=的右边是
str(remainder) + result
正如我们上面所说的,它的值是:
"0" + "11010"
这是字符串连接。它只是将一根绳子放在另一根绳子的末端。结果是:
"0 11010"
"011010"
这是赋值语句右侧计算的值。
result = "011010"
这就是结果的值。
B_Number = 0
cnt = 0
while (N != 0):
rem = N % 2
c = pow(10, cnt)
B_Number += rem * c
N //= 2
# Count used to store exponent value
cnt += 1
return B_Number