程序设计实习 02 第i位替换

#include <iostream>
using namespace std;

int bitManipulation1(int n, int m, int i) {
    return ((m>>i)&1) == 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;
}

原文地址:https://www.cnblogs.com/Latticeeee/p/8508617.html

时间: 2024-10-14 10:08:13

程序设计实习 02 第i位替换的相关文章

C++基本要点复习--------coursera程序设计实习(PKU)的lecture notes

因为一些特性复杂,很多时候也用不到一些特性,所以忘记了,算是随笔,也当作一个临时查找的手册.没有什么顺序,很杂. 1.构造函数通过函数重载的机制可以有多个(不同的构造函数,参数个数,或者参数类型不同.),但是析构函数只能有一个.当没有在代码中写明构造或析构函数时,编译器会自动生成缺省的构造或析构函数.构造函数和析构函数都无返回值.另外,析构函数必须无参数.没写复制(拷贝)构造函数,编译器也会自动生成缺省的复制构造函数.复制构造函数会生成一个临时隐藏的对象,在调用一个以类对象作为参数的函数和调用一

程序设计实习作业 02 各种构造函数和析构函数

//输出 9 22 5 #include <iostream> using namespace std; class Sample { public: int v; Sample(int n){ v = n ; } Sample(){ } Sample(const Sample & a){ v = a.v + 2; } }; void PrintAndDouble(Sample o) { cout << o.v; cout << endl; } int main

标准C程序设计七---02

Linux应用             编程深入            语言编程 标准C程序设计七---经典C11程序设计    以下内容为阅读:    <标准C程序设计>(第7版) 作者:E. Balagurusamy(印), 李周芳译 清华大学出版社  2017.7    <21天学通C语言>(第7版) 作者:Bradley Jones  Peter Aitken  Dean Miller(美), 姜佑译 人民邮电出版社  2014.11    <21天学通C语言>

PKU C++程序设计实习 学习笔记4 文件操作和模板

第七章 文件操作和模板 7.1 文件操作 7.2 函数模板 泛型程序设计(Generic Programming) 算法实现时不指定具体要操作的数据的类型 泛型--算法实现一遍,适用于多种数据结构 优势: 减少重复代码的编写 两种类型 函数模板 类模板 与"抽象.封装.继承.多态"并列 函数模板 template<class 类型参数1, class 类型参数2, - > 返回值类型 模板名 (形参表) { 函数体 } 例子,交换两个变量值的函数模板 template &l

《80X86汇编语言程序设计教程》十一 32位代码段和16位代码段切换实例

1.  演示32位代码段与16位代码段之间的切换.实现的功能是以十六进制和ASCII码字符两种形式显示从内存地址100000H开始的16个字节的内容. 2.  源代码如下: 1 ;DosTest.Asm 2 ;16位偏移的段间转移指令的宏定义 3 ;使用于16位段,用于跳转到32位目的段 4 ;注意:标号偏移必须在16位二进制符号数数能表示的范围之内 5 JUMP16 macro selector,offsetv 6 db 0eah ;操作码 7 dw offsetv ;16位偏移 8 dw s

程序设计实习MOOC / 继承和派生——编程作业 第五周程序填空题1

描述 写一个MyString 类,使得下面程序的输出结果是: 1. abcd-efgh-abcd- 2. abcd- 3. 4. abcd-efgh- 5. efgh- 6. c 7. abcd- 8. ijAl- 9. ijAl-mnop 10. qrst-abcd- 11. abcd-qrst-abcd- uvw xyz about big me take abcd qrst-abcd- 要 求:MyString类必须是从C++的标准类string类派生而来.提示1:如果将程序中所有 "My

编程填空:第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--

Java位运算在程序设计中的使用:位掩码(BitMask)

在Java中,位运算符有很多,例如与(&).非(~).或(|).异或(^).移位(<<和>>)等.这些运算符在日常编码中很少会用到. 在下面的一个例子中,会用到位掩码(BitMask),其中包含大量的位运算.不只是在Java中,其他编写语言中也是可以使用的. 例如,在一个系统中,用户一般有查询(Select).新增(Insert).修改(Update).删除(Selete)四种权限,四种权限有多种组合方式,也就是有16中不同的权限状态(2的4次方). 一般情况下会想到用四个

C语言高级程序设计——进制算法以及位算符号

语言不够官方:意会: 数据储存运算是以二进制的,二进制数有原码 反码 补码三种.通常所说的二进制就是原码.(语言不官方) 原码 :4的原码可以为:0000 0100:最高位0 可以为符号数 反码:正数和原码相同,负数的符号位不变,其余位0变1,1变0 补码:正数和原码相同,负数的补码在反码的基础上加1(二进制存储是以补码来存的) 二进制八进制互转 二转八:三位转一位:八转二:一位转三位: 二进制十进制互转 二转十:按照8 4 2 1乘以各个位置数字:十转二:整数部分累除2取余数法,小数部分乘2取