Chinaunix首页 | 论坛 | 博客
  • 博客访问: 211990
  • 博文数量: 87
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 798
  • 用 户 组: 普通用户
  • 注册时间: 2015-01-14 14:54
文章分类

全部博文(87)

文章存档

2015年(87)

我的朋友

分类: C/C++

2015-09-28 18:41:54

程序如下:
#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;
}
这个方法我不太明白,不过记住了……
阅读(1094) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~