Java中的2<<3是什么意思
1个回答
展开全部
这是一个位运算表达式啊
<<表示算术左移,用来将一个数的二进制位序列左移若干位,高位左移后溢出,舍弃不用,在右补0。
如2<<3,
把十进制值2转成二进制数补码:00000010
把2的二进制位向左移动3位,高位左移后溢出(以左为高),舍弃不用,在右边补0:
把00000010向左移动三位,最左边三个0溢出——>00010,
然后再右边补三个0——>00010000
再将这个二进制码转成十进制数字就是16。
还有两个相关的移位运算符:
>>
表示算术右移,用来将一个数的二进制位序列右移若干位,移到右端的低位被舍弃,最高位则移入原来高位的值。
>>>
表示逻辑右移,用来将一个数的二进制位添零右移若干位,即向右移动若干位,移到右端的低位被舍弃,最高位添零。它也叫无符号右移
<<表示算术左移,用来将一个数的二进制位序列左移若干位,高位左移后溢出,舍弃不用,在右补0。
如2<<3,
把十进制值2转成二进制数补码:00000010
把2的二进制位向左移动3位,高位左移后溢出(以左为高),舍弃不用,在右边补0:
把00000010向左移动三位,最左边三个0溢出——>00010,
然后再右边补三个0——>00010000
再将这个二进制码转成十进制数字就是16。
还有两个相关的移位运算符:
>>
表示算术右移,用来将一个数的二进制位序列右移若干位,移到右端的低位被舍弃,最高位则移入原来高位的值。
>>>
表示逻辑右移,用来将一个数的二进制位添零右移若干位,即向右移动若干位,移到右端的低位被舍弃,最高位添零。它也叫无符号右移
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询