题解 | #二进制位运算#

二进制位运算

https://www.nowcoder.com/practice/fa89690611f84cdcaba9a843e884310b

import math

num = input().split()

num1 = list(num)
if len(bin(int(num1[0]))[2:])>len(bin(int(num1[1]))[2:]):
    x = bin(int(num1[0]))[2:].zfill(math.ceil(len(bin(int(num1[0]))[2:])/4)*4)
    y = bin(int(num1[1]))[2:].zfill(math.ceil(len(bin(int(num1[0]))[2:])/4)*4)
else:
    x = bin(int(num1[0]))[2:].zfill(math.ceil(len(bin(int(num1[1]))[2:])/4)*4)
    y = bin(int(num1[1]))[2:].zfill(math.ceil(len(bin(int(num1[1]))[2:])/4)*4)

result1 = []
for charx, chary in zip(x, y):
    if charx == "1" and chary == "1":
        result = 1
        result1.append(result)
    else:
        result = 0
        result1.append(result)
x1 = "".join(str(x) for x in result1)
print(int(x1, 2))

result2 = []
for charx, chary in zip(x, y):
    if charx == "1" or chary == "1":
        result = 1
        result2.append(result)
    else:
        result = 0
        result2.append(result)
x2 = "".join(str(x) for x in result2)
print(int(x2, 2))

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务