题解 1774: [编程入门]C语言之二进制位问题

来看看其他人写的题解吧!要先自己动手做才会有提高哦! 
返回题目 | 我来写题解

筛选

优质题解

1774: [编程入门]C语言之二进制位问题(位运算)

解题思路:不要用数组来做,虽然实现比较简单,但是这是一道练习位运算的好题。明显的,位运算会在以后做题中给我们很大帮助,熟悉和掌握它是我们必要的工作。我们的一个思路就是让x~y的位都保留,而其它位都为0,这样就能得到x~y位代表的值了。怎么让其余都为0而x~y位不变呢,我们先看一个小例子。
优质题解

C语言程序设计教程(第三版)课后习题12.3 (C语言代码)

解题思路:为了原整数value用二进制表示后,从右数第n1位到第n2位不变,其余位变0,如n1=5,n2=9,可以得到如下图所示的一个二进制数(第三行),用它和value与,就可以取得所要的数。注意事项:为了使得0右移不会由于系统不同,得到-0算术右移高位补1的结果,