//编写一个函数getbits,从一个16位的单元中取出某几位
//(即该几位保留原值,其余位为0)例:getbits(173253,5,8)
//表示对八进制173253这个数取出它从左面起第5位到第8位
//结果为:6(8进制)#include <stdio.h>
short getbits(short value, int n1, int n2) //在VC中16位用short,对吗?
{
short z;
z = ~0; //全1
z = (z >> n1) & (z << (16-n2));
z = value & z;
z = z >> (16-n2);
return z;
}void main()
{
short value;
int n1, n2;
printf("请输入一个8进制数:");
scanf("%o", &value);
printf("\n请输入起始位n1,结束位n2:");
scanf("%d%d", &n1, &n2);
printf("\n结果:%o\n", getbits(value, n1, n2));
}
可我的结果却是37777777766为什么?
//(即该几位保留原值,其余位为0)例:getbits(173253,5,8)
//表示对八进制173253这个数取出它从左面起第5位到第8位
//结果为:6(8进制)#include <stdio.h>
short getbits(short value, int n1, int n2) //在VC中16位用short,对吗?
{
short z;
z = ~0; //全1
z = (z >> n1) & (z << (16-n2));
z = value & z;
z = z >> (16-n2);
return z;
}void main()
{
short value;
int n1, n2;
printf("请输入一个8进制数:");
scanf("%o", &value);
printf("\n请输入起始位n1,结束位n2:");
scanf("%d%d", &n1, &n2);
printf("\n结果:%o\n", getbits(value, n1, n2));
}
可我的结果却是37777777766为什么?
解决方案 »
- 调查:有多少人在用WTL?
- 单文档中如何保存ACCESS数据库,并如何把已存好数据还原回去
- C#与C++语法,C#又烦又难看
- 一个类A中内嵌了两个类A1,A2,请问在创建了A1实例之后,怎么能不用A::A1类型得到A::A1的类型.具体如下:
- error:fatal error C1010: unexpected end of file while looking for precompiled header directive
- 请教24位彩色图像处理的问题??
- 请教 列表框 问题
- ocx控件注册之后,怎么在MFC中调用该控件的函数?
- twain??????将twain做成dll问题??急,,,在线等!
- WaitForSingleObject和WaitForMultipleObjects可不可以等待某个特定线程的事件?
- 谁给我介绍一下标准c++和vc之间不同的地方?
- 怎么去刷新ListView至程序刚启动时候的状态?
short getbits(unsigned short value, int n1, int n2) //在VC中16位用short,对吗?
{
unsigned short z=0xffff,t,i;
if((n1>n2) || (n1<0) ||(n2>15)) return 0; //应该对输入参数合法性做出检查
z = (z << n1) & (z >> (15-n2));
z = value & z;
z = z >> n1; //错了哦,
return z;
}void main()
{
short value;
int n1, n2;
printf("请输入一个数字:");
scanf("%d", &value);
printf("\n请输入起始位n1(n2>n>=0):");
scanf("%d", &n1);
printf("\n请输入结束位(15>=n2>n1):");
scanf("%d", &n2);
printf("\n结果:%d\n", getbits(value, n1, n2));
}
================================================================CSDN 论坛助手 Ver 1.0 B0402提供下载。 改进了很多,功能完备!★ 浏览帖子速度极快![建议系统使用ie5.5以上]。 ★ 多种帖子实现界面。
★ 保存帖子到本地[html格式]★ 监视您关注帖子的回复更新。
★ 可以直接发贴、回复帖子★ 采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录!
★ 支持在线检测程序升级情况,可及时获得程序更新的信息。★★ 签名 ●
可以在您的每个帖子的后面自动加上一个自己设计的签名哟。Http://www.ChinaOK.net/csdn/csdn.zip
Http://www.ChinaOK.net/csdn/csdn.rar
Http://www.ChinaOK.net/csdn/csdn.exe [自解压]