位运算简介及实用技巧(二):进阶篇(1) | Matrix67: The Aha Moments
二进制中的1有奇数个还是偶数个
我们可以用下面的代码来计算一个32位整数的二进制中1的个数的奇偶性,当输入数据的二进制表示里有偶数个数字1时程序输出0,有奇数个则输出1。
Check code: http://massivealgorithms.blogspot.com/2015/08/1-csdnnet.html
高低位交换
给出一个小于2^32的正整数。这个数可以用一个32位的二进制数表示(不足32位用0补足)。我们称这个二进制数的前16位为“高位”,后16位为“低位”。将它的高低位交换,我们可以得到一个新的数。试问这个新的数是多少(用十进制表示)。
writeln( (n shr 16) or (n shl 16) );
Read full article from 位运算简介及实用技巧(二):进阶篇(1) | Matrix67: The Aha Moments
二进制中的1有奇数个还是偶数个
我们可以用下面的代码来计算一个32位整数的二进制中1的个数的奇偶性,当输入数据的二进制表示里有偶数个数字1时程序输出0,有奇数个则输出1。
Check code: http://massivealgorithms.blogspot.com/2015/08/1-csdnnet.html
高低位交换
给出一个小于2^32的正整数。这个数可以用一个32位的二进制数表示(不足32位用0补足)。我们称这个二进制数的前16位为“高位”,后16位为“低位”。将它的高低位交换,我们可以得到一个新的数。试问这个新的数是多少(用十进制表示)。
writeln( (n shr 16) or (n shl 16) );
Read full article from 位运算简介及实用技巧(二):进阶篇(1) | Matrix67: The Aha Moments