#include <math.h>
int main()
{
int flag
int n
int m
int num
int res
printf("请输入: ")
scanf("%d%d", &num, &n)
m = n-1
while(--n)
{
num >>= 1
}
flag = num &1
res = (int)pow(2, m) * flag
printf("res = %d \n", res)
getchar()
getchar()
return 0
}
可以直接运行
128的二进制表示: 10000000
从右往左数第八位是1
答案也简单:
C语言版:
int getbit(int n, int k){return (n>>(k-1)) & 1
}