二进制插入(白菜题)

来源:互联网 发布:sqlserver 安装版本 编辑:程序博客网 时间:2024/04/28 16:31

题目描述

有两个32位整数n和m,请编写算法将m的二进制数位插入到n的二进制的第j到第i位,其中二进制的位数从低位数到高位且以0开始。

给定两个数int n和int m,同时给定intj和int i,意义如题所述,请返回操作后的数,保证n的第j到第i位均为零,且m的二进制位数小于等于i-j+1。

测试数据:

1024,19,2,6
返回值:
1100
         i       j

10000000000

00001001100

利用位运算

public class BinInsert {    public int binInsert(int n, int m, int j, int i) {        // write code here        return (m << j) | n;    }}

测试地址:http://www.nowcoder.com/practice/30c1674ad5694b3f8f0bc2de6f005490?tpId=8&tqId=11019&rp=1&ru=/ta/cracking-the-coding-interview&qru=/ta/cracking-the-coding-interview/question-ranking

0 0