编程题编程:给定一个整数i,请求出另一个 整数j,是i和j在用8位二进制表示时互为逆序。

来源:百度知道 编辑:UC知道 时间:2024/05/16 07:17:41
例如:给定i=3时 得到j=192

我是这样做的,你看看吧,楼上高手,不跟他比。
#include <stdio.h>
int main()
{
unsigned short a, b=0;
int i;
printf("a:");
scanf("%u",&a);
a = a & 255; // 只留后 8 位,前 8 位置为 0。
for ( i=0; i<8; i++)
{
b |= (a << 7) & 255; // 取最后一位。
a = a >> 1; // 舍去最后一位。
b = b << 1; // 左移一位,让出第 8 位取数用。
}
b = b >> 8; // 循环左移了 8 位,现移回来。
printf("b: %u\n",b);
system("pause");
return 0;
}

#include "stdio.h"
void main()
{
unsigned int a=0,b=0,c,d=0;
printf("请输入一个十进制数:");
scanf("%d",&a);
d=a;
for(c=0;c<8;c++)
{
b<<=1;
if((a&0x01)==1) b|=0x01;
a>>=1;

}
printf("\n%d的逆序二进制数为:%d",d,b