📅  最后修改于: 2023-12-03 14:49:55.010000             🧑  作者: Mango
当一个整数可以被8整除时,它的二进制表示的末三位一定都是0。因此,我们可以使用按位运算运算符来检查一个数字是否可被8整除。
具体地,我们可以使用&(按位与)运算符来检查数字的二进制表示的末三位是否都是0。代码如下:
def check_divisible_by_8(num: int) -> bool:
return (num & 7) == 0
代码解释:
0b1000
,末三位为000
,因此我们需要用7进行按位与运算。使用示例:
num1 = 16 # 二进制表示为0b10000,末三位都是0,可以被8整除
assert check_divisible_by_8(num1) == True
num2 = 18 # 二进制表示为0b10010,末三位不全是0,不能被8整除
assert check_divisible_by_8(num2) == False
以上就是使用按位运算运算符检查数字是否可被8整除的介绍。