不用bin函数,十进制转换成二进制python
时间: 2024-05-09 09:14:23 浏览: 100
可以使用循环来实现十进制转二进制的操作:
```python
def decimal_to_binary(decimal):
binary = ""
while decimal > 0:
remainder = decimal % 2
binary = str(remainder) + binary
decimal = decimal // 2
return binary
```
以上代码中,我们首先定义了一个空字符串 `binary` 用于存储二进制结果。然后使用 `while` 循环,每次取出十进制数的余数并添加到 `binary` 字符串的最前面,然后将十进制数除以 2 并向下取整。当十进制数为 0 时,循环结束,返回二进制字符串。
例如,如果要将十进制数 10 转换为二进制,我们可以调用 `decimal_to_binary(10)`,得到的结果是 `"1010"`。
相关问题
不用bin完成十进制转换二进制
不用 `bin` 函数将十进制数转换成二进制,你可以手动通过除以 2 取余法(也叫“长除法”)来进行。下面是步骤:
1. **输入十进制数**:首先确定你要转换的十进制整数。
2. **初始化结果数组**:创建一个空列表用于存储二进制位,初始长度设置为需要的结果位数(通常是32位,取决于实际需求),并将第一个元素设为0(因为最右边的一位始终是0)。
3. **除法操作**:从右向左开始,每次将十进制数除以2,得到商和余数。余数就是二进制的最低有效位(从0到1),记录下来。
4. **不断除**:将得到的余数添加到结果列表的前面,然后更新十进制数为商,继续上述过程,直到商变为0。
5. **反转列表**:最后得到的是二进制数的倒序,所以需要将其反转回来。
举个例子,假设要将十进制数13转换为二进制:
```
13 / 2 = 6...1
6 / 2 = 3...0
3 / 2 = 1...1
1 / 2 = 0...1
所以,二进制形式为:1101
```
如果你需要编写一段程序来自动完成这个过程,可以使用循环结构,如Python中的while循环:
```python
def decimal_to_binary(n):
binary = []
while n > 0:
binary.append(n % 2)
n = n // 2
return ''.join(str(i) for i in reversed(binary))
decimal_number = 13
binary_result = decimal_to_binary(decimal_number)
print(f"十进制 {decimal_number} 转换为二进制为: {binary_result}")
```
十进制转换成二进制python
可以使用内置函数 `bin()` 将十进制数转换为二进制字符串。
例如,将十进制数 123 转换为二进制字符串:
```python
num = 123
binary = bin(num)
print(binary)
```
输出:
```
0b1111011
```
需要注意的是,`bin()` 函数返回的二进制字符串前面会带有 `0b` 前缀,表示这是一个二进制数。如果需要去掉前缀,可以使用切片操作:
```python
num = 123
binary = bin(num)[2:]
print(binary)
```
输出:
```
1111011
```
阅读全文
相关推荐














