python简单题求大佬解决(要源代码)
本帖最后由 青青子衿121 于 2021-1-10 03:44 编辑本帖最后由 suchocolate 于 2021-1-10 11:08 编辑
num1 = int(input('Please input number1: '))
print("int: {0:d}; bin: {0:b}".format(num1))
new_num1 = ~15 & num1 # 15取反就是 111...1111 0000, 和num1相与,会使num1低4位变成0,其他位不变。
print("new_int: {0:d}; new_bin: {0:b}".format(new_num1))
num2 = int(input('Please input number2: '))
print("int: {0:d}; bin: {0:b}".format(num2))
new_num2 = 15 ^ num2 # 15即000...000 1111,和num2异或,会使num2低4位取反,其他位不变。
print("new_int: {0:d}; new_bin: {0:b}".format(new_num2))
几个规律:
[*]任何数和0相与都等于0:x & 0 = 0
[*]任何数和1相或都等于1:x | 1 = 1
[*]任何数和自己异或都等于0:x ^ x = 0
[*]任何数和0异或都等于自己:x ^ 0 = x
[*]任何数和1异或等于自己的反:0 ^ 1 = 1, 1 ^ 1 = 0
页:
[1]