当前位置: 代码迷 >> C语言 >> 计算出来的结果好象不对~~怎么回事
  详细解决方案

计算出来的结果好象不对~~怎么回事

热度:835   发布时间:2007-04-20 22:19:03.0
计算出来的结果好象不对~~怎么回事

我输入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);
}

搜索更多相关的解决方案: int  结果  getbits  void  

----------------解决方案--------------------------------------------------------
溢出了.
----------------解决方案--------------------------------------------------------

你不相信计算机的运算能力吗


----------------解决方案--------------------------------------------------------

只是移位而已,应该没有溢出啊~~~


----------------解决方案--------------------------------------------------------
  相关解决方案