首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

整数的位反转,忽略整数大小和字节顺序

整数的位反转是指将一个整数的二进制表示中的位顺序颠倒,例如将10100101颠倒为01010101。在计算机中,整数通常以补码表示,因此位反转也需要考虑符号位。

在补码中,正整数的最高位为0,负整数的最高位为1。因此,在位反转时,需要先判断整数的符号位,然后再进行位反转。

以下是一个示例代码,实现整数的位反转:

代码语言:python
复制
def reverseBits(n: int) -> int:
    # 将整数转换为二进制字符串
    binary_str = bin(n)[2:].zfill(32)
    # 判断整数的符号位
    if binary_str[0] == '1':
        # 如果是负数,则将符号位保留,其余位翻转
        reversed_str = binary_str[0] + binary_str[1:31][::-1]
    else:
        # 如果是正数,则将所有位翻转
        reversed_str = binary_str[::-1]
    # 将翻转后的二进制字符串转换为整数
    return int(reversed_str, 2)

该函数接受一个整数n作为输入,返回其位反转后的整数。

例如,对于输入10100101,该函数将返回01010101。对于输入-10100101,该函数将返回-10100101。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的沙龙

领券