题目:输入一个整数a,再输入两个整数p1,p2(p1,p2<32),输出该整数的二进制表示方法中从右端开始的p1到p2位.
#include <stdio.h>
void fun(int a, int p1, int p2)
{
int i;
int temp;
if (a < 0)
{
a = -a;
}
printf("The result:\n");
for (i = p2 - 1; i >= p1 - 1; i--)
{
if ((i + 1) % 4 == 0)
{
printf(" ");
}
temp = (a >> i) & 1;
printf("%c", (temp == 1) ? '1' : '0');
}
printf("\n");
}
int main()
{
int a;
int p1, p2;
printf("Enter a number!\n");
scanf("%d", &a);
printf("Enter p1 and p2(p1,p2<32)\n");
scanf("%d%d", &p1, &p2);
fun(a, p1, p2);
return 0;
}