zoukankan      html  css  js  c++  java
  • 编程填空:左边i位取反

    总时间限制: 1000ms 内存限制: 1024kB
    描述
    写出函数中缺失的部分,使得函数返回值为一个整数,该整数的左边i位是n的左边i位取反,其余位和n相同
    请使用【一行代码】补全bitManipulation3函数使得程序能达到上述的功能

     1 #include <iostream>
     2 using namespace std;
     3 
     4 int bitManipulation3(int n, int i) {
     5   // 在此处补充你的代码
     6 }
     7 
     8 int main() {
     9   int t, n, i;
    10   cin >> t;
    11   while (t--) {
    12     cin >> n >> i;
    13     cout << bitManipulation3(n, i) << endl;
    14   }
    15   return 0;
    16 }

    输入

    第一行是整数 t,表示测试组数。
    每组测试数据包含一行,是两个整数 n 和 i (1<=i<=32)。
    输出
    对每组输入数据,输出整型变量n中左边i位取反的结果。
    样例输入
    1
    0 32
    样例输出
    -1
    提示
    注意i从1开始

     1 #include <iostream>
     2 using namespace std;
     3 
     4 int bitManipulation3(int n, int i) {
     5     // 在此处补充你的代码
     6     
     7     return i==32 ? (~n) : ( (((1<<i)-1)<<(32-i))^n );
     8 }
     9 
    10 int main() {
    11     int t, n, i;
    12     cin >> t;
    13     while (t--) {
    14         cin >> n >> i;
    15         cout << bitManipulation3(n, i) << endl;
    16     }
    17     return 0;
    18 }
  • 相关阅读:
    MySql学习
    python学习笔记
    关于字符编码的理解
    session与cookie
    常用的表单元素
    Linq基础
    发送邮件。。
    进程与线程
    winform知识点集合
    winform基础与简单的窗体
  • 原文地址:https://www.cnblogs.com/huashanqingzhu/p/7413071.html
Copyright © 2011-2022 走看看