作业帮 > 数学 > 作业

用一条语句将整型变量n中的左边 i 位都取反,而n的其他位保持不变,该怎么写?

来源:学生作业帮 编辑:百度作业网作业帮 分类:数学作业 时间:2024/06/24 06:35:41
用一条语句将整型变量n中的左边 i 位都取反,而n的其他位保持不变,该怎么写?
用一条语句将整型变量n中的左边 i 位都取反,而n的其他位保持不变,该怎么写?
用位异或,比如A:0111 0000这个数 要把前4位取反,可以用B:1111 0000这个数和它进行异或操作,前4位就取反了.A取反几位,那B中就有几个1,其他则为0.
再问: 可不可以给出一个通用的语句啊?比如说,不知道n有多少位,i 也不是一个具体的数值,该怎么写?
再答: 我举的例子当中A取反 i 位,那B中就有 i 个1,B中剩下的位为0. 不过必须知道n占几个字节,用sizeof可以测出来。 int Func(int n, int i) { if (n == 0 || i