编程填空:左边i位取反

编程填空:左边i位取反

总时间限制: 
1000ms

内存限制: 
1024kB
描述

写出函数中缺失的部分,使得函数返回值为一个整数,该整数的左边i位是n的左边i位取反,其余位和n相同

请使用【一行代码】补全bitManipulation3函数使得程序能达到上述的功能

#include <iostream>
using namespace std;

int bitManipulation3(int n, int i) {
// 在此处补充你的代码
}

int main() {
	int t, n, i;
	cin >> t;
	while (t--) {
		cin >> n >> i;
		cout << bitManipulation3(n, i) << endl;
	}
	return 0;
}
输入
第一行是整数 t,表示测试组数。
每组测试数据包含一行,是两个整数 n 和 i (1<=i<=32)。
输出
对每组输入数据,输出整型变量n中左边i位取反的结果。
样例输入
1
0 32
样例输出
-1
提示
注意i从1开始
源代码:

#include <iostream>
using namespace std;
int bitManipulation3(int n, int i)
{
return n ^ -1 << (32 - i);// 在此处补充你的代码
}
int main()
{
int t, n, i;
cin >> t;
while (t--) {
cin >> n >> i;
cout << bitManipulation3(n, i) << endl;
}
return 0;
}

时间: 2024-10-12 04:31:32

编程填空:左边i位取反的相关文章

编程填空:第i位取反

描述 写出函数中缺失的部分,使得函数返回值为一个整数,该整数的第i位是n的第i位取反,其余位和n相同 请使用[一行代码]补全bitManipulation2函数使得程序能达到上述的功能 #include <iostream> using namespace std; int bitManipulation2(int n, int i) { // 在此处补充你的代码 } int main() { int t, n, i; cin >> t; while (t--) { cin >

北京大学C++程序设计coursera课程第四周编程填空题3

题目 填空题-3 1 point possible (graded) 总时间限制: 1000ms 内存限制: 65536kB 描述 写一个二维数组类 Array2,使得下面程序的输出结果是: 0,1,2,3, 4,5,6,7, 8,9,10,11, next 0,1,2,3, 4,5,6,7, 8,9,10,11, 程序: #include <iostream> #include <cstring> using namespace std; // 在此处补充你的代码 int mai

编程填空:第i位替换

描述 写出函数中缺失的部分,使得函数返回值为一个整数,该整数的第i位和m的第i位相同,其他位和n相同. 请使用[一行代码]补全bitManipulation1函数使得程序能达到上述的功能 #include <iostream> using namespace std; int bitManipulation1(int n, int m, int i) { // 在此处补充你的代码 } int main() { int n, m, i, t; cin >> t; while (t--

C++程序设计POJ》《WEEK6 多态与虚函数》《编程填空》

#include <iostream> using namespace std; class A { public: A() { } virtual void func() { cout << "A::func" << endl; } virtual void fund() { cout << "A::fund" << endl; } void fun() { cout << "A::

菜鸟系列之C/C++经典试题(八)

计算二进制中1的个数 题目:位运算方面的编程很少遇到,但也是很重的一个只是点,一个比较常见的题目就是计算一个数的二进制表示中的1的个数. 分析:一个1都没有就是0, 我们的思路就是一位一位的运算, 我们很快就想到下面的做法: int countBit1(int val) { register int count = 0; while (val) { if (1 & val) { ++count; } val >>= 1; } return count; } 砟一看这个实现不错, 仔细看

第6周

6.1 函数 定义: 返回值类型 函数名(参数1类型 参数1名称,参数2类型 参数2名称...) { 语句组(即“函数体”) } 调用函数:函数名 (参数1,参数2...).对函数的调用,也是一个表达式,其值由函数内部的return语句决定. return语句的功能是结束函数的执行,并将返回值作为结果返回.返回值是常量.变量或复杂的表达式均可.如果返回值类型为void,则可以直接写return ;. return语句作为函数的出口,可以在函数中多次出现.多个return语句的返回值可以不同.在哪

面霸不容易--且面且珍惜

面霸不容易--且面且珍惜 前序: 找工作心态很重要,这是人生必经之历程.适当的跳槽有时会对个人的发展带来意想不到的收获. 但个人不建议频繁的跳,乱跳.平跳.一定要有主见要充分分析,不要人云亦云.千万别一时觉得工作太累啊.工资太少.出差太频繁.学不到东西,然后心血来潮就提出辞职.这是不成熟的表现,心态不好.太浮躁了.一定要三思而后行,然后注意的一点是,你在犹豫并未确定是否真要离职时千万不要将消息透露给一起上班的同事,这个不能疏忽. 借用网上的一段话: 从哪个行业入手,逐渐对该行业深入了解,不要频繁

关于计算机中的《补码》,公式:-n=~n+1 引伸:~n=-n-1

在计算机系统中,数值一律用补码来表示(存储).主要原因是使用补码可以将符号位和其他位统一处理:同时,减法也可以按加法来处理.另外,两个用补码表示的数相加时,如果最高位(符号位)有进位,则进位被舍弃.补码跟源码的转换过程几乎是相同的. 补码概述 求给定数值的补码表示分以下两种情况: ⑴正数的补码 与 原码 相同. [例1]+9的补码是00001001.(备注:这个+9的补码说的是用8位的2进制来表示补码的,补码表示方式很多,还有16位2进制补码表示形式,以及32位2进制补码表示形式等.) ⑵负数的

18.04.28 17年程设考试题

编程填空部分 A01:编程填空:统计动物数量 描述 代码填空,使得程序能够自动统计当前各种动物的数量 #include <iostream> using namespace std; // 在此处补充你的代码 void print() { cout << Animal::number << " animals in the zoo, " << Dog::number << " of them are dogs, &q