位运算
位运算与位运算结合能实现许多与位串运算有关的复杂计算。所有复杂的加密运算都是建立在位运算之上的。下面列举一些常用的位运算应用。
(1)不用临时变量交换两个整数。
void swap(int i , int j)
{
i = i^j;
j =j ^i;
i =i^ j;
}
(2)对一个16位数高8位清零,低8位保留。
main()
{
int x=6550;
x=x&255
printf("%d ",x);
}
(3)取出一个16位数的高8位。
main()
{
int x=6550;
x=x&(65535-255);
x=x>>8
printf("%d ",x);
}
上面举了3个和位运算有关的算法,用位运算实现了简单的功能,而复杂的位运算功能就是建立在这些简单的位运算功能基础上的。