">>1"与"/2"的区别 (右移1位运算与除以2运算的区别)

原始数据:N

N:非负数时,     >>1和/2的运算结果是一样的。 10>>1=5 ;   10/2=5   0>>1=0 ;0/2=0

N:负数且是偶数,>>1和/2的运算结果是一样的。-10>>1=-5; -10/2=-5  

N:负数且是奇数,>>1和/2的运算结果是不同的。  -5>>1=-3; -5/2=(int)(-2.5)=-2

即:N位负奇数时,>>1:向下取整  /2:向上取整。

 

[可以使用系统自带计算器,选择"程序员"模式,进行验证]

posted @ 2022-03-18 10:22  冲云霄  阅读(2992)  评论(0)    收藏  举报