Java左移并填充Zeros
发布时间:2020-12-15 04:44:04 所属栏目:Java 来源:网络整理
导读:我想做左移,但填零,就像 int number = 20 10 = ( 0000 0000 0000 0000 0000 0000 0001 0100 ) int number = 20 32? = ( 0000 0000 0000 0000 0000 0000 0000 0000 ) 我想对左移做同样的事,因为没有运算符用于leftshift int number = 20 32 = 0000 0000 0000
我想做左移,但填零,就像
int number = 20 >>> 10 = ( 0000 0000 0000 0000 0000 0000 0001 0100 ) int number = 20 >>> 32? = ( 0000 0000 0000 0000 0000 0000 0000 0000 ) 我想对左移做同样的事,因为没有运算符<<<用于leftshift int number = 20 << 32 = 0000 0000 0000 0000 0000 0000 0001 0100 ; 我想用零填充它,就像>>>操作符.那我该怎么做呢? 解决方法
<<<左移操作符将根据您的需要引入零. 存在2个右移位运算符(>>>>>)的原因是因为在2的补码形式中,负数在最左位位置具有位值1.右移运算符>>将添加符号位(在负数的情况下为1,在正数或零的情况下为0)在左侧,而另一个(>>>)将始终添加零.
两个右移操作符都有自己的用途. 语言规范指出,如果位移位运算符应用于int,因为它是32位长,只有5位最低位用于确定移位数的次数. 因此,如果你以二进制的方式移动32,即100000,则相当于移0,这意味着不要移位!如果你想要移位64位长,那么最低6位只用于表示移位多少次. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |