前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >编程填空:第i位替换 编程填空:第i位取反 编程填空:左边i位取反

编程填空:第i位替换 编程填空:第i位取反 编程填空:左边i位取反

作者头像
Dar_Alpha
发布2018-09-03 16:37:32
1.5K0
发布2018-09-03 16:37:32
举报
文章被收录于专栏:技术小站技术小站

037:编程填空:第i位替换

总时间限制: 1000ms 内存限制: 1024kB描述

写出函数中缺失的部分,使得函数返回值为一个整数,该整数的第i位和m的第i位相同,其他位和n相同。

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

代码语言:javascript
复制
#include <iostream>
using namespace std;

int bitManipulation1(int n, int m, int i) {
代码语言:javascript
复制
// 在此处补充你的代码
    return (m >> i) & 1 ? n | (1 << i) : n&(~(1 << i));      
代码语言:javascript
复制
}

int main() {
	int n, m, i, t;
	cin >> t;
	while (t--) { 
		cin >> n >> m >> i;
		cout << bitManipulation1(n, m, i) << endl;
	}
	return 0;
}

输入第一行是整数 t,表示测试组数。 每组测试数据包含一行,是三个整数 n, m 和 i (0<=i<=31)输出对每组输入数据,每行输出整型变量n变化后的结果样例输入

代码语言:javascript
复制
1
1 2 1

样例输出

代码语言:javascript
复制
3

提示二进制的最右边是第0位

038:编程填空:第i位取反

总时间限制: 1000ms 内存限制: 1024kB描述

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

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

代码语言:javascript
复制
#include <iostream>
using namespace std;

int bitManipulation2(int n, int i) {
代码语言:javascript
复制
// 在此处补充你的代码
代码语言:javascript
复制
}

int main() {
	int t, n, i;
	cin >> t;
	while (t--) {
		cin >> n >> i;
		cout << bitManipulation2(n, i) << endl;
	}
	return 0;
}

输入第一行是整数 t,表示测试组数。 每组测试数据包含一行,是两个整数 n 和 i (0<=i<=31)。输出输出整型变量n中的第i位取反的结果样例输入

代码语言:javascript
复制
1
1 0

样例输出

代码语言:javascript
复制
0

039:编程填空:左边i位取反

总时间限制: 1000ms 内存限制: 1024kB描述

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

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

代码语言:javascript
复制
#include <iostream>
using namespace std;

int bitManipulation3(int n, int i) {
代码语言:javascript
复制
// 在此处补充你的代码
return (-1 << (32 - i)) ^ n;
代码语言:javascript
复制
}

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位取反的结果。样例输入

代码语言:javascript
复制
1
0 32

样例输出

代码语言:javascript
复制
-1

提示注意i从1开始

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-06-13 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 037:编程填空:第i位替换
  • 038:编程填空:第i位取反
  • 039:编程填空:左边i位取反
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档