二进制数的插入
来源:互联网 发布:农村淘宝怎么货到付款 编辑:程序博客网 时间:2024/05/17 17:16
位操作,掌握一些清零,置1和取每一位的技巧。
//题目描述////有两个32位整数n和m,请编写算法将m的二进制数位插入到n的二进制的第j到第i位, 其中二进制的位数从低位数到高位且以0开始。//给定两个数int n和int m,同时给定int j和int i,意义如题所述,请返回操作后的数,保证n的第j到第i位均为零,且m的二进制位数小于等于i - j + 1。//测试样例://1024,19,2,6//返回:1100class BinInsert {public: int binInsert(int n, int m, int j, int i) { // write code here ////保证n的j到i位均为0,且m的二进制位数小于等于i-j+1 //return n | (m << j); ////取m的每一位,和n的对应位相与 //int k = 0; //while (m!=0) //{ // int bit = m & 1; // if (bit) // { // n |= 1 << (k + j);//为1,这一位也要为1,所以或 // } // else // { // n &= ~(1 << (k + j)); // } // k++; // m >>= 1; //} //清零的方式 //定义掩码 int mask = ~(((1 << (i - j + 1)) - 1) << j); //111->111000->000111;对后面的没有影响 n &= mask; //i~j位置为0 n |= (m << j); return n; }};
0 0
- 二进制数的插入
- 二进制数的四则运算
- 二进制数的逻辑运算
- 浮点数的二进制
- 二进制数的转换
- 特殊的二进制数
- 特殊的二进制数
- 特殊的二进制数
- 二进制数的组
- 二进制数的打印
- 二进制数的表示
- 23的二进制数
- 算法题:二进制的插入
- 一些二进制数的特性
- 浮点数的二进制表示
- 浮点数的二进制表示
- 浮点数的二进制表示
- 浮点数的二进制表示
- phpstudy ssh 检测到未开启
- MATLAB Coder从MATLAB生成C/C++代码步骤
- 进程同步
- matlab的&和&&操作
- 提取指定数目的字符substr()
- 二进制数的插入
- iOS图片元数据的读写
- C++11 之 " = delete "
- Google Test环境
- 富文本编辑器原理
- Windows上用QCamera调用摄像头简单示例
- 前端知识库
- 中科院计算所2017推免生机试
- MATLAB图像处理工具箱