如何在 Python 中将 Int 转换为二进制

Python 是一种广泛使用的编程语言,支持多种数据类型。其中最基础的数据类型之一是整数(Int),当需要将整数转换为二进制时,Python 提供了简单易用的方法。

  1. 使用 bin() 函数

Python 中内置的 bin() 函数可以将整数转换为对应的二进制字符串,其语法如下:

bin(x)

其中,x 表示要转换的整数,返回值为一个字符串,表示 x 的二进制形式。

下面是一个示例:

# 将 42 转换为二进制
x = 42
print(bin(x))

输出结果为:

0b101010

由于 bin() 函数在二进制字符串前面添加了一个前缀 “0b”,因此打印出来的字符串是带有前缀的。如果需要去掉前缀,可以使用字符串的切片操作,如下所示:

# 去掉前缀
binary_string = bin(x)[2:]
print(binary_string)

输出结果为:

101010
  1. 使用 format() 函数

除了 bin() 函数,Python 还提供了 format() 函数,它可以将整数格式化为指定进制的字符串,其语法如下:

format(x, format_spec)

其中,x 表示要进行格式化的整数,format_spec 表示格式化字符串,使用其中的进制标识符可以将整数格式化为指定进制的字符串。例如,“b”表示二进制,由此可得到以下代码:

# 将整数格式化为二进制字符串
x = 42
binary_string = format(x, "b")
print(binary_string)

输出结果为:

101010

注意事项:

  1. 在将整数转换为二进制字符串时,需要注意 Python 默认将整数视为有符号整数,因此在转换负数时,需要使用补码表示。例如,将 -42 转换为二进制字符串,即可得到“-0b101010”。
  2. 在使用 format() 函数时,需要使用进制标识符来指定要格式化的进制。常用的进制包括二进制(”b”)、八进制(”o”)和十六进制(”x”)。
  3. 在将整数转换为二进制字符串时,需要注意 Python 中的 int 类型是支持任意精度的,因此可以处理非常大的整数。如果需要将结果存储到文件中,可以使用 Python 内置的文件操作功能,如下所示:
x = 1234567890
binary_string = format(x, "b")
with open("output.bin", "wb") as f:
    f.write(binary_string.encode("utf-8"))

在文件中输出的是二进制数据,而不是字符串。