二进制位变换

测试数据来自 system/2756

作业已超过截止时间,您无法递交本题目。

时间限制:1秒  内存限制:256M


【题目描述】

  任意给定一个 64 位带符号整数 \(n\),把其对应的二进制依次做如下四个变化:

  1、把 \(n\) 的第 \(i\) 位取反;
  2、把 \(n\) 的第 \(j\) 位改成 0(如果本来为 0,则不变);
  3、把 \(n\) 的第 \(k\) 位变成 1(如果本来为 1,则不变);
  4、把 \(n\) 最靠右的 1 变成 0。

  注意,二进制各位的序号从的最低位开始,依次是第0位,然后依次为第1位、第2,……

【输入格式】

  第一行是整数 \(n\)。
  第二行有三个整数:\(i,j,k\)。

【输出格式】

  一个整数,输出变化后的 \(n\) 的值。

【输入输出样例】

 Input

74
3 1 4

 Output

64

【数据限制】

  对于 \(100\%\) 的数据,\(|n|<2^{63}\),且 \(n\) 不为 0。

【来源】

  Mr.he

位运算及其运用

未认领
状态
已结束
题目
9
开始时间
2023-12-17 00:00
截止时间
2024-01-06 23:59
可延期
24.0 小时