给定两个32位的数,N和M,还有两个指示位的数,i和j。 写程序使得N中第i位到第j位的值与M中的相同(即:M变成N的子串且位于N的第i位和第j位之间)

 1 int updateBits(int n,int m,int i,int j)
 2 {
 3      int max = ~0;
 4      int left = max -((1<<j+1)-1);
 5      int right = 1<<i -1;
 6      
 7      int mask = left|right;
 8     
 9      return (n&mask)|(m<<i);
10 }

 

 posted on 2013-08-13 14:52  xuanxu  阅读(130)  评论(0编辑  收藏  举报