Java中的2<<3是什么意思
6个回答
展开全部
这是一个位运算表达式啊
<<表示算术左移,用来将一个数的二进制位序列左移若干位,高位左移后溢出,舍弃不用,在右补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。
还有两个相关的移位运算符:
>> 表示算术右移,用来将一个数的二进制位序列右移若干位,移到右端的低位被舍弃,最高位则移入原来高位的值。
>>> 表示逻辑右移,用来将一个数的二进制位添零右移若干位,即向右移动若干位,移到右端的低位被舍弃,最高位添零。它也叫无符号右移
展开全部
java中没有2进制的数据类型,对二进制的操作,需要使用共三种操作符。
<< 左移位操作符
>> 右移位操作符
>>> 无符号右移操作符
使用左移时,数会变大,很多时间,用来代替“乘方”的操作。比如
2的平方 = 2 * 2 = 4 = 2<<1
2的3次方 = 2 * 2 * 2 = 8 = 2<<2
另外,一定要注意>> >>>的差别。
其实这个没多大用的,极少用到
<< 左移位操作符
>> 右移位操作符
>>> 无符号右移操作符
使用左移时,数会变大,很多时间,用来代替“乘方”的操作。比如
2的平方 = 2 * 2 = 4 = 2<<1
2的3次方 = 2 * 2 * 2 = 8 = 2<<2
另外,一定要注意>> >>>的差别。
其实这个没多大用的,极少用到
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
应该是2的二进制表示法左移3位,2的二进制应该是0000 0010,左移3位后
0001 0000,再转成十进制就是2*4=16
0001 0000,再转成十进制就是2*4=16
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
也就是2乘于2的3次方,起初是10,结果2<<3左移3个位置,变成10000,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
引用小山山001的回答:
应该是2的二进制表示法左移3位,2的二进制应该是0000 0010,左移3位后
0001 0000,再转成十进制就是2*4=16
应该是2的二进制表示法左移3位,2的二进制应该是0000 0010,左移3位后
0001 0000,再转成十进制就是2*4=16
展开全部
应该是2的二进制表示法左移3位,2的二进制应该是0000 0010,左移3位后
0001 0000,再转成十进制就是2^4=16
0001 0000,再转成十进制就是2^4=16
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询