[原创]麻烦各位给我看看这个程序对不对,如不对,怎么修改,谢谢!
/*-----编写一个函数getbits,从一个16位的单元汇总取出某几位(即该几位保留原值,其余位为0)。函数调用形式getbits(value,n1,n2).value为该16位(两个字节)中的数据值,n1为欲取出的起始位,n2为欲取出的结束位。如:getbits(0101675,5,6)表示对八进制
101675这个数,取出它的从左面起的第5位到第8位----------*/
#include <stdio.h>
#include <assert.h>
short getbits(short value,int n1,int n2)
{
short temp = 0,i;
assert(n2-n1 > -1);
for(i = n2;i >=n1;i--)
temp += 1<<(16-i);
return value&temp;
}
void main()
{
short a,n1,n2;
scanf("%o%d%d",&a,&n1,&n2);
printf("%o",getbits(a,n1,n2));
}
搜索更多相关的解决方案:
麻烦
----------------解决方案--------------------------------------------------------
初始一下,试试看
----------------解决方案--------------------------------------------------------
楼上的,看你的回答,基本等于灌水。
----------------解决方案--------------------------------------------------------
你还不是在灌,不同的是他灌别人,你灌自己,而我跟他一样是灌别人。
----------------解决方案--------------------------------------------------------
灌
----------------解决方案--------------------------------------------------------
是干什么的?
----------------解决方案--------------------------------------------------------
运行下看看行不 ,
估计台风洪水就是被你门灌出来的。
----------------解决方案--------------------------------------------------------
to zhangxih4: 我可没有兴趣在这边灌水,我只是气愤你们这些人,不回答与问题相关的。分数拿了做什么,好看的吗?呵呵 来这里是学习的!
----------------解决方案--------------------------------------------------------
sorry我只是就你的意思幽默一下嘛,看你那么在意的说2楼在灌水。呵呵上面的 题目,我不太懂,学习学习。
----------------解决方案--------------------------------------------------------