编程填空:第i位替换

OpenJudge

总时间限制:1000ms

内存限制:1024kB

描述:写出函数中缺失的部分,使得函数返回值为一个整数,该整数的第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--) {
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位

#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;
freopen("in (4).txt","r",stdin);
cin >> t;
while (t--) {
cin >> n >> m >> i;
cout << bitManipulation1(n, m, i) << endl;
}
return 0;
}

类似题目

常用的位运算

  • 得到右数第k位值: (x >> k) & 1
  • 把右数第k位置1 : x | (1 << k)
  • 把右数第k位取反: x ^ (1 << k)
  • 把最右边的1置0 : x & (x - 1)
  • 把最右边的0置1 : x | (x + 1)
  • 判断奇偶(最低位): x & 1

编程填空:第i位替换的更多相关文章

  1. 《编程人生:15位软件先驱访谈录》【PDF】下载

    <编程人生:15位软件先驱访谈录>[PDF]下载链接: https://u253469.pipipan.com/fs/253469-230382231 内容简介 本书适合所有程序员,也适合 ...

  2. Linux Shell编程(28)——进程替换

    进程替换与命令替换很相似. 命令替换把一个命令的结果赋给一个变量,例如 dir_contents=`ls -al`或xref=$. 进程替换则是把一个进程的输出回馈给另一个进程 (换句话说,它把一个命 ...

  3. Linux Shell编程(24)——命令替换

    命令替换 将会重新分配一个命令[1]甚至是多个命令的输出; 它会将命令的输出如实地添加到另一个上下文中. [2]使用命令替换的典型形式是使用后置引用(`...`). 后置引用形式的命令(就是被反引号括 ...

  4. Linux Shell编程(6)——变量替换

    变量的名字是它的值保存的地方.引用它的值称为变量替换.$让我们仔细地区别变量和变量的值.如果variable1是一个变量的名字,那么$variable1就是引用这个变量的值――即这个变量它包含的数据. ...

  5. 编程填空:左边i位取反

    总时间限制: 1000ms 内存限制: 1024kB描述写出函数中缺失的部分,使得函数返回值为一个整数,该整数的左边i位是n的左边i位取反,其余位和n相同请使用[一行代码]补全bitManipulat ...

  6. 编程填空:第i位取反

    总时间限制: 1000ms 内存限制: 1024kB描述写出函数中缺失的部分,使得函数返回值为一个整数,该整数的第i位是n的第i位取反,其余位和n相同 请使用[一行代码]补全bitManipulati ...

  7. C#高级编程五十七天----位数组

    位数组 假设须要处理非常多位,就能够使用BitArray类和BitVector32.BitArray位于命名空间System.Collections中. BitVector32位于命名空间System ...

  8. 【算法编程 C++ Python】字符串替换

    题目描述 请实现一个函数,将一个字符串中的空格替换成“%20”.例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy.   C++使用string,pyt ...

  9. <2014 04 26> 《Coders at Work编程人生:15位软件先驱访谈录》

    什么是老派程序员?调试只用printf,关心数据结构,先整体或先局部,不知道OO.IDE.TDD.BDD等等为何物.Ken Thompson,Jamie Zawinski,Joe Armstrong, ...

随机推荐

  1. react 20180504

    react 入门 <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...

  2. 美团小程序框架mpvue入门

    mpvue 主要特性 使用 mpvue 开发小程序,你将在小程序技术体系的基础上获取到这样一些能力: 1. 彻底的组件化开发能力:提高代码复用性 2. 完整的 Vue.js 开发体验 3. 方便的 V ...

  3. Beta(5/7)

    鐵鍋燉腯鱻 项目:小鱼记账 团队成员 项目燃尽图 冲刺情况描述 站立式会议照片 各成员情况 团队成员 学号 姓名 git地址 博客地址 031602240 许郁杨 (组长) https://githu ...

  4. 2017-10-22—发光二极管

    LED与 LD的差别在工作原理上的差别:LED是利用注入有源区的载流子自发辐射复合发光,而LD是受激辐射复合发光.在结构上的差别:LD有光学谐振腔,使产生的光子在腔内振荡放大,LED没有谐振腔.性能上 ...

  5. 重温TCP

    先放张TCP头图片 一.TCP三次握手目的: 1.保证源主机确定目的主机在线,并可进行通信 2.让源主机检查它是否正在监听试图去连接的端口 3.允许源主机向接收者发送他的起始序列号,使得两主机可以将数 ...

  6. 09-Http & Servlet

    Http协议&Servlet Http协议 什么是协议 > 双方在交互.通讯的时候, 遵守的一种规范.规则. http协议 > 针对网络上的客户端 与 服务器端在执行http请求的 ...

  7. centos7.4安装redis

    参考连接 https://blog.csdn.net/qq_19399235/article/details/78313633/

  8. CCTV5 前端

    get :  fre = 11868  symbolrate  = 27500 pls_n=0------167    CCTV 9------------168    CCTV 3--------- ...

  9. java学习之路--I/O流

      java基础学习总结——流 一.JAVA流式输入/输出原理

  10. cadence分列元件原理图库的设计