计算出来的结果好象不对~~怎么回事
我输入0101675 5 8,结果是1400,应该是000000吧,5和8是取位的起始位和结束位
#include <stdio.h>
#include <conio.h>
void getbits(int n,int i,int j);
main()
{
int x,a,b;
clrscr();
printf("Input the data:\n");
scanf("%o%d%d",&x,&a,&b);
printf("x=%o\n",x);
getbits(x,a,b);
}
void getbits(int n,int i,int j)
{
n=n<<i;
n=n>>i;
n=n>>j;
n=n<<j;
printf("End:%o\n",n);
}
----------------解决方案--------------------------------------------------------
溢出了.
----------------解决方案--------------------------------------------------------
你不相信计算机的运算能力吗
----------------解决方案--------------------------------------------------------
只是移位而已,应该没有溢出啊~~~
----------------解决方案--------------------------------------------------------