请问下面最后两句C程序什么意思?
来源:百度知道 编辑:UC知道 时间:2024/05/19 12:31:39
#define Sam_N 128
uchar J;
J=Sam_N>>1;
X=X>>7;
uchar J;
J=Sam_N>>1;
X=X>>7;
J=Sam_N>>1;
X=X>>7;
Sam_N右移一位,也就是Sam_N除以2,把结果给J
X右移七位,也就是X除以2的七次方,把结果给X
J=Sam_N>>1;
X=X>>7;
Sam_N右移一位,也就是Sam_N除以2,把结果给J
X右移七位,也就是X除以2的七次方,把结果给X
就这么简单!Sam_N =128你换上!
#define Sam_N 128
uchar J;
J=Sam_N>>1; //右移一位;
X=X>>7;//右移七位;
算术移位,>>1是右移1位,相当于乘以2
>>7是乘以2^7=128
是位移,比如说Sam_N=1100101,执行Sam_N>>1;
就是向右移一位,成了0110010,最低位都没有了,最高位都补成0;然后把这个移动的值传给J,就是那句J=Sam_N>>1;
X=X>>7;道理一样的,向右移七位,比如上面那个数是X,右移七位就成了00000001;再放回X。
应该是移位操作