专栏首页技术小站编程填空:第i位替换 编程填空:第i位取反 编程填空:左边i位取反

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

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

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

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

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

#include <iostream>
using namespace std;

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

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变化后的结果样例输入

1
1 2 1

样例输出

3

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

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

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

写出函数中缺失的部分,使得函数返回值为一个整数,该整数的第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 >> n >> i;
		cout << bitManipulation2(n, i) << endl;
	}
	return 0;
}

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

1
1 0

样例输出

0

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

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

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

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

#include <iostream>
using namespace std;

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

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开始

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • (转)mysql数据库中存储数字字段时,选择int和varchar的区别

    Dar_Alpha
  • 电商网站开发记录(二) mybatis三剑客的引入

    ,在resources下新建generatorConfig.xml,配置文件详细信息如下

    Dar_Alpha
  • c++(二)

    算数运算符:+,-,*,/,%,++,--  进行算数运算时,如果存在溢出,则把溢出的部分拿掉(浮点型的难以预测),如 int i=0xffffffff,j;j...

    Dar_Alpha
  • win2d 画出好看的图形

    本文告诉大家,win2d 不需要从零开始做,以前做出来的很多库其实只需要做很小修改就可以做出好看的效果,而且用在 UWP 上。本文修改原先 大神写的 GDI 图...

    林德熙
  • 洛谷P4054 [JSOI2009]计数问题(二维树状数组)

    attack
  • 你必须知道的指针基础-7.void指针与函数指针

      void *表示一个“不知道类型”的指针,也就不知道从这个指针地址开始多少字节为一个数据。和用int表示指针异曲同工,只是更明确是“指针”。

    Edison Zhou
  • 口算训练 HDU - 6287

    小Q非常喜欢数学,但是他的口算能力非常弱。因此他找到了小T,给了小T一个长度为n的正整数序列a1,a2,…,an,要求小T抛出m个问题以训练他的口算能力。

    用户7727433
  • 常见指针定义解读

    最近做的C/C++技术面试比较多,发现了一些共同的问题,对于如下所示的指针认识,多数面试者都答错了,作为过来人,这种情况还可以理解的,放在一起确实有些复杂。 ...

    一见
  • leetcode题解 | 78. 子集

    这个题目很容易想到使用DFS的方式来解决,因为组合的题容易产生转移方程,这样也是没有什么问题的。

    ACM算法日常
  • 洛谷P2763 试题库问题(最大流)

    attack

扫码关注云+社区

领取腾讯云代金券