如题:
输入一个整数,截取它对应的二进制位中从右到左的第8-11位(最右边为第0位)。
**输入格式要求:"%d" 提示信息:"请输入一个整数:"
**输出格式要求:"它的从右开始的第11-8位为:
" "%d "
程序运行示例如下:
请输入一个整数:2997
它的从右开始的第11-8位为:
1 0 1 1
#define MASK 0xf //MASK=(00001111) int main() { int intNum, i, t; printf("请输入一个整数:"); scanf("%d", &intNum); intNum >>= 8; intNum = intNum & MASK; printf("它的从右开始的第11-8位为: "); for (i = 1; i <= 4; i++) { t = intNum; t >>= (4 - i); t = t & 1; printf("%d ", t > 0 ? 1 : 0); } return 0; }
main() { long i,x; printf("请输入一个整数:"); scanf("%ld",&x); printf("它的从右开始的第11-8位为: "); for(i=11;i>7;i--) printf("%d ",(x&(1<<i))>0); printf(" "); }