编写一个程序,输入两个整数i,j,显示i的第j个二进制位
先将 i转换为二进制串,然后去取第二个字符就是了
(i & 1<<j)>0 或者 (i>>j)&1
要么用1<<j构造一个二进制数,跟i做与运算,把多余的位去掉,再判断整个数是否为0要么i>>j,把小于j的部分去掉,再跟1做与运算,把大于j的部分也去掉,这样只剩下j位
这个简单,你主要把10进制转2进制的问题解决,剩下都不是问题参考:
printf("%d\n", (i>>j)&0x01);