在 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
.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
#
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.
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.
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.