![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
位运算
-琥珀川-
奋斗吧 骚年!
展开
-
异或问题
1,假设函数f(n)是自然数1,2,3,…,n的所有数的异或,即f(n)=1^2^3^…^n, 那么,任意的n(n为自然数),我们能够很快的计算出f(n)的值if n == 4*m, then f(n) = nelse if n == 4*m + 1, then f(n) = 1else if n == 4*m + 2, then f(n) = n+1else n = 0其中m为整数,公式的证转载 2015-09-27 11:01:05 · 1753 阅读 · 0 评论 -
奇偶位交换
奇偶位交换 请编写程序交换一个数的二进制的奇数位和偶数位。(使用越少的指令越好) 给定一个int x,请返回交换后的数int。 测试样例: 10 返回:5Thinking用0xAAAAAAAA与x相与求的奇数位上数字(偶数位上数字为0) 用0x 55555555 与x相与求的偶数位上数字(奇数位上数字为0)oddVal右移一位 even左移一位 相加即可。Code原创 2015-09-21 10:01:27 · 1362 阅读 · 0 评论 -
二进制插入
题目描述 有两个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 返回:1100Codeimport原创 2015-09-20 23:32:14 · 462 阅读 · 0 评论 -
[编程题]找出缺失的整数
[编程题]找出缺失的整数 数组A包含了0到n的所有整数,但其中缺失了一个。对于这个问题,我们设定限制,使得一次操作无法取得数组number里某个整数的完整内容。唯一的可用操作是询问数组中第i个元素的二进制的第j位(最低位为第0位),该操作的时间复杂度为常数,请设计算法,在O(n)的时间内找到这个数。 给定一个数组number,即所有剩下的数按从小到大排列的二进制各位的值,如A[0][1]表原创 2015-09-22 11:21:24 · 751 阅读 · 0 评论