在 Python 中打印数字的二进制表示
使用格式化的字符串文字来打印数字的二进制表示,例如 print(f'{number:b}')
。 格式化字符串文字使我们能够使用格式规范迷你语言,该语言可用于获取数字的二进制表示形式。
number = 13
# ✅ 将数字格式化为二进制 (in base 2)
string = f'{number:b}'
print(string) # 👉️ 1101
# ✅ 将整数转换为前缀为 0b 的二进制字符串
string = bin(number)
print(string) # 👉️ 0b1101
# ✅ 将整数转换为前缀为 0x 的小写十六进制字符串
string = hex(number)
print(string) # 👉️ 0xd
第一个示例使用格式化字符串文字。
格式化字符串文字 f-strings
让我们通过在字符串前加上 f
来在字符串中包含表达式。
var1 = 'fql'
var2 = 'zadmei'
result = f'{var1}{var2}'
print(result) # 👉️ fqlzadmei
确保将表达式用大括号括起来 – {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
当与整数一起使用时,
#
选项将相应的前缀添加到二进制、八进制或十六进制输出中,例如 0b、0o、0x。
如果需要获取数字的十六进制表示,请使用 hex()
函数。
number = 13
string = hex(number)
print(string) # 👉️ 0xd
hex
函数将整数转换为前缀为 0x 的小写十六进制字符串。
我们还可以使用格式化字符串文字将整数转换为带或不带前缀的大写或小写十六进制字符串。
number = 13
string = f'{number:#x}'
print(string) # 👉️ 0xd
string = f'{number:x}'
print(string) # 👉️ d
string = f'{number:X}'
print(string) # 👉️ D
x
字符代表十六进制格式。 它输出以 16 为基数的数字,对 9 以上的数字使用小写字母。
X
字符的作用相同,但对 9 以上的数字使用大写字母。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。