程序如下:
#include <stdio.h>
int compute(char n)
{
char mask1=0x55;
char mask2=0x33;
char mask3=0x0F;
n=(n&mask1)+((n>>1)&mask1);
n=(n&mask2)+((n>>2)&mask2);
n=(n&mask3)+((n>>4)&mask3);
return n;
}
int main()
{
int i;
printf("Input a number between -128 and 127:");
scanf("%d",&i);
printf("The result is %d\n",compute(i));
return 0;
}
这个方法我不太明白,不过记住了……
阅读(1089) | 评论(0) | 转发(0) |