我已经在C中实现了以下功能,但无法正常工作。
int reverse(int org_num){
int rev_num=0;
int i=1;
while(i<=8){
int last_bit=org_num&1;
rev_num=rev_num|last_bit;
rev_num=rev_num<<1;
org_num=org_num>>1;
i=i+1;
}
return rev_num; }
据我所知,您没有将其余的位(除了最后8位)分配给rev_num
。如果原始数字为0x01000001,则函数的返回值为0x00000080。根据您的描述,它应该是0x01000080。