在输出二进制的问题的函数老师的pirntBinary是这样的 :
void printfBinary(){
int temp=31;
while(temp>=0){
int value=number >>temp & 1;
printf("%d ",vlaue)
temp--;;
}
if((temp+1)%4==0){
pirntf(" ");
}
}
printf("\n");
}
我的疑问在这句int value = number>>temp & 1;我总是感觉这句话在执行完了后number的值被改变了,虽然我自己验证了number 的值没有被改变。但是我心里总是觉得移位应该是在number内存里的位置改变的,所以number的值在内存中应该被改变了。求解释 |