c语言编写函数getbit(n,k);求出n从右边开始的第k位。在主函数中输入数据并调用该函数输出

Python016

c语言编写函数getbit(n,k);求出n从右边开始的第k位。在主函数中输入数据并调用该函数输出,第1张

#include <stdio.h>

#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

}