在 Python 中打印数字的二进制表示

在 Python 中打印数字的二进制表示

Print the binary representation of a Number in Python

使用格式化字符串文字打印数字的二进制表示形式,例如print(f'{number:b}'). 格式化字符串文字使我们能够使用格式规范迷你语言,该语言可用于获取数字的二进制表示形式。

主程序
number = 13 # ✅ format number as binary (in base 2) string = f'{number:b}' print(string) # 👉️ 1101 # ✅ Convert an integer to a binary string prefixed with 0b string = bin(number) print(string) # 👉️ 0b1101 # ✅ convert an integer to a lowercase hexadecimal string prefixed with 0x string = hex(number) print(string) # 👉️ 0xd

第一个示例使用格式化字符串文字。

格式化字符串文字 (f-strings) 让我们通过在字符串前加上f.
主程序
var1 = 'bobby' var2 = 'hadz' result = f'{var1}{var2}' print(result) # 👉️ bobbyhadz

确保将表达式括在大括号 –{expression}中。

格式化字符串文字还使我们能够

在表达式块中使用
格式规范迷你语言。

主程序
number = 13 string = f'{number:b}' print(string) # 👉️ 1101

b字符代表二进制格式并以 2 为基数输出数字。

您可以在b字符前加上一个数字来指定字符串的宽度。

主程序
number = 13 string = f'{number:8b}' print(repr(string)) # 👉️ ' 1101'

如果您需要用零而不是空格填充数字,请在冒号后添加一个零。

主程序
number = 13 string = f'{number:08b}' print(repr(string)) # 👉️ '00001101'

0b如有必要,您还可以在结果前加上前缀。

主程序
number = 13 string = f'0b{number:08b}' print(repr(string)) # 👉️ '0b00001101'

或者,您可以使用该bin()功能。

主程序
number = 13 string = bin(number) print(string) # 👉️ 0b1101 print(bin(3)) # 👉️ 0b11 print(bin(10)) # 👉️ 0b1010

bin函数将整数转换为前缀为0b.

您还可以使用格式化字符串文字来添加或删除0b前缀。

主程序
number = 13 string = f'{number:#b}' print(string) # 👉️ 0b1101 string = f'{number:b}' print(string) # 👉️ 1101
When used with integers, the # option adds the respective prefix to the binary, octal or hexadecimal output, e.g. 0b, 0o, 0x.

If you need to get the hexadecimal representation of a number, use the hex()
function.

main.py
number = 13 string = hex(number) print(string) # 👉️ 0xd

The hex function
converts an integer to a lowercase hexadecimal string prefixed with 0x.

You can also use a formatted string literal to convert an integer to an
uppercase or lowercase hexadecimal string with or without the prefix.

main.py
number = 13 string = f'{number:#x}' print(string) # 👉️ 0xd string = f'{number:x}' print(string) # 👉️ d string = f'{number:X}' print(string) # 👉️ D

The x character stands for hex format. It outputs the number in base 16 using
lowercase letters for the digits above 9.

The X character does the same but uses uppercase letters for the digits
above 9.