貌似以上三个函数在判断一个整数是否为奇数的情况下都是正确的,但是我们测试一下
程序打印结果:
说明:
第一个函数 isOdd()在四分之一的时间里是返回错误结果的,在参数为负数的情况下,i %2 == 0总是返回FALSE的,这事因为对%取余运算 其结果的符号总是和左操作数的符号相同的,
而第二个函数修正了第一个函数的不足之处 令其结果和1去比较,是完全正确的
第三个函数是效率最高的,一个数是否为奇数 ,只须判断它的二进制位是否为1即可,
貌似以上三个函数在判断一个整数是否为奇数的情况下都是正确的,但是我们测试一下
程序打印结果:
说明:
第一个函数 isOdd()在四分之一的时间里是返回错误结果的,在参数为负数的情况下,i %2 == 0总是返回FALSE的,这事因为对%取余运算 其结果的符号总是和左操作数的符号相同的,
而第二个函数修正了第一个函数的不足之处 令其结果和1去比较,是完全正确的
第三个函数是效率最高的,一个数是否为奇数 ,只须判断它的二进制位是否为1即可,