>>这个是移位操作符
>>是右移,<<是左移
x>>y
的意思就是将x的二进制表示,向右移y位,
所以:x>>y=x/(2^y);
而:x<
因为x=43右移0位,所以值不变,为43
ch<'B'成立 值为1
!y由于y的值为0,也为1
所以最后判断的结果是真,值就是1
应该是写错了。正确的是x>y
x>>y这个也没错,但是这是移位操作,得到的是一个数据,不是一个bool型 。
x>>y 表示x对的二进制右移y 位,相当于除以 2^y 。 如 4>>2 相当 于 4 /2^2 = 1
按这里的语境,应该是 x>y .