| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1062 人关注过本帖
标题:求助c 程序设计语言(第二版)中一道题
取消只看楼主 加入收藏
windowswind
Rank: 1
等 级:新手上路
帖 子:39
专家分:3
注 册:2010-3-16
结帖率:82.35%
收藏
已结贴  问题点数:20 回复次数:2 
求助c 程序设计语言(第二版)中一道题
题目:编写一个函数setbits(x,p,n,y),该函数返回对x执行下列操作后的值:将x中从第p位开始的n个数(二进制)位设置为y中最右边的n位的值,x中其他数不变
例程:
unsigned setbits (unsigned x,int p,int n,unsigned y){
    return x&~(~(~0<<n)<<(p+1-n))|(y&~(~0<<n))<<(p+1-n);
}
这里如果p+1-n为负数怎么办?如setbits(19,2,4,13)。。。。
搜索更多相关主题的帖子: 程序设计 二进制 
2011-10-10 19:50
windowswind
Rank: 1
等 级:新手上路
帖 子:39
专家分:3
注 册:2010-3-16
收藏
得分:0 
回复 2楼 TonyDeng
我给出的代码是书本上的答案来的,不是我自己写的。不知道这个它为什么不判断?

2011-10-10 20:12
windowswind
Rank: 1
等 级:新手上路
帖 子:39
专家分:3
注 册:2010-3-16
收藏
得分:0 
回复 4楼 TonyDeng
本来水平菜,不敢对书本妄加否定,看来还是尽信书不如无书,受教受教!
2011-10-10 21:39
快速回复:求助c 程序设计语言(第二版)中一道题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015054 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved