以下是 Python 代码实现将一个正整数转换为十进制、八进制、十六进制(小写)和无符号的十进制形式,并以空格分隔输出:

num = int(input('请输入一个正整数:'))

decimal = str(num)  # 十进制形式
octal = oct(num)[2:]  # 八进制形式
hexadecimal = hex(num)[2:]  # 十六进制形式(小写)
unsigned_decimal = '{0}'.format(num & 0xffffffff)  # 无符号的十进制形式

output = f'{decimal} {octal} {hexadecimal} {unsigned_decimal}'
print(output)

这段代码首先接受用户输入的正整数,并将其转换为整数类型。

然后,使用 str() 函数将整数转换为十进制形式字符串。使用 oct() 函数将整数转换为八进制形式字符串,然后使用切片操作 [2:] 去除前缀。使用 hex() 函数将整数转换为十六进制形式字符串,再次使用切片操作 [2:] 去除前缀。

接下来,使用 {0} 结合 int() 函数中的 & 运算符,将整数强制转换为无符号整数。通过这种方式,得到了无符号的十进制形式字符串。

最后,将所有形式字符串以空格分隔,组合成一个输出字符串,并使用 print() 语句打印输出结果。

请注意,这种方法依赖于整数的位数,假设整数使用 32 位表示。如果整数的位数不同,可能需要调整位掩码。同时,这种方法仅适用于正整数,因为负数的二进制表示与其无符号形式不同。

Python 代码实现整数的十进制、八进制、十六进制和无符号十进制形式转换

原文地址: https://www.cveoy.top/t/topic/RBX 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录