#include<stdio.h>
int count;
void reverse(unsigned long int digit)
{
unsigned long int low,high;
low=digit<<24;
high=digit>>24;
digit=digit&0x00ffff00;
digit=low|digit;
digit=high|digit;
printf("%u\n",digit);
}
void yidong(unsigned long int digit,int n)
{
n%=16;
unsigned long int low,high,t1,t2;
low=digit&0x00ffff00;
low>>=8;
low<<=n;
low=low&0x00ffff00;
high=low<<16;
high=high&0x00ffff00;
t1=digit&0xff000000;
t2=digit&0x000000ff;
digit=high|low|t1|t2;
printf("%u\n",digit);
}
void output(unsigned long int digit)
{
if(digit)
{
output(digit/2);
printf("%u",digit%2);
count++;
if(count%8==0)
printf(" ");
}
}
int main()
{
unsigned long int digit;
int n;
while(~scanf("%u",&digit))
{
reverse(digit);
scanf("%d",&n);
yidong(digit,n);
count =0;
output(digit);
printf("\n");
}
return 0;
}
2012_1华中科技大学机试真题
最新推荐文章于 2022-02-25 21:57:21 发布