数值n,其二进制的第m个位的开关情况
两个参数,一个代表数值,另一个代表第几位。通过移位运算辅以位运算来判定该位情况。
注意,从右往左,第一个其编号为0,和数组类似。因此要减一。
# include <stdio.h> int open_or_close(int, int); int main() { int i, j; puts("Please enter the val,press q to quit:"); while (scanf("%d", &i) == 1) { puts("Enter the position:"); scanf("%d",&j); if (open_or_close(i, j)) //函数返回值为0或1,直接用函数做if条件 puts("It is a open_bit."); else puts("It is close_bit"); puts("Please enter the val:"); } return 0; } int open_or_close(int n, int m) //如果为1,返回1,否则返回0 { return ((n<<(m-1)) & 1 )== 1 ? 1 : 0 ; }
浙公网安备 33010602011771号