在c语言中,"="是赋值的意思,"=="是等于的意思。举个例子说说a=3是说把3赋值给a,也就是说3把a的先前的值给覆盖了。b==3是说b所代表的变量值是等于3的。
>>不会改变左操作数的值,>>=会改变,类似于+和+=
举个例子吧吧
a >> 2 这个表达式的值是a 向右移2位 后的值 但 a 的值仍不变
a >>=2 这个表达式的意思是就是 a = a >> 2
举例说明:
a = b>>3;将b的各位右移3位,其结果赋给a
a >>=3;此句等价于a = a >>3;
应该说明的是,对于有符号数,在右移时,符号位将随同移动。当为正数时,最高位补0,而为负数时,符号位为1,最高位是补0或是补1 取决于编译系统的规定。Turbo C和很多系统规定为补1。