啊啊啊啊啊啊昨天忘记写啦!
太忙了实在是忘了。。
不过今天继续写就好哈哈哈
今日的内容不是很多,但是有点难(与我而言)。
先放一段代码吧,是我冥思苦想的结果。
unsigned set1_n(unsigned x, int pos, int n) { //作用:返回将无符号整数第pos位起,共n位,设为1之后的数。
unsigned i = 1;
for (int a = 0; a < n; a++) x | (i << (pos - a)); //二进制的最右边为第0位
return x;
}
看起来并不复杂,对吧?实际上我许久都没想到“左移”的方法,一直尝试算出确切的数并加减。看来今天学的知识没吸收好,还不太会运用啊,明天再好好复习一下!
已经有点晚了,今日就先这样吧!大家明天见!
代码已上传至码云。