600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > Java移位运算符不外乎就这三种

Java移位运算符不外乎就这三种

时间:2020-11-19 02:07:56

相关推荐

Java移位运算符不外乎就这三种

Java移位运算符不外乎就这三种:<<(左移)、>>(带符号右移)和>>>(无符号右移)

1、 左移运算符

左移运算符<<使指定值的所有位都左移规定的次数。

1)它的通用格式如下所示:

value << num

num 指定要移位值value 移动的位数。

左移的规则只记住一点:丢弃最高位(符号位同样丢弃),0补最低位

如果移动的位数超过了该类型的最大位数,那么编译器会对移动的位数取模。如对int型移动33位,实际上只移动了332=1位。

<<表示左移,也可以自由指定位数,例如 <<2,表示左移2位,也就相当于原来的数乘以2的2次方

64<<4 等价于64*(2的4次方)

2、 右移运算符

右移运算符<<使指定值的所有位都右移规定的次数。

1)它的通用格式如下所示:

value >> num

num 指定要移位值value 移动的位数。

右移的规则只记住一点:符号位不变,左边补上符号位

>>表示右移,但是这个可以自由定义它的移动位数,比如>>3,则表示右移3位,也就相当于原来的数除以2的3次方;

16>>3等价于16/(2的3次方)

3、无符号右移

无符号右移运算符>>>

它的通用格式如下所示:

value >>> num

num 指定要移位值value 移动的位数。

无符号右移的规则只记住一点:忽略了符号位扩展,0补最高位

无符号右移运算符>>> 只是对32位和64位的值有意义

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。