各位大神
麻烦给我科普几个运算符
比如
2<<3 = 16这是怎么计算的?这是什么运算符
或者3>>>2 = 0 是怎么计算的?
~2<<3 = -24,这又是怎么计算的?
麻烦给我科普几个运算符
比如
2<<3 = 16这是怎么计算的?这是什么运算符
或者3>>>2 = 0 是怎么计算的?
~2<<3 = -24,这又是怎么计算的?
解决方案 »
- 一起学java==EnumSet.range方法报错
- 100分相赠,不知道谁能知道为什么抛出这个异常:java.lang.IllegalArgumentException,我都快疯了。
- 会vb的看一下 ,下面这段代码如何写成vb.net
- java如何实现系统托盘?
- 如何实现鼠标停留到某Component上时,出现一个类似批注或注释框?
- 跪求sybase或oracle数据库中怎么才能实时获得某个表新插入的数据
- swing superset
- java能否得到windows窗口的位置?
- 哪有java应用程序源码下载的地方,如果各位有程序能给我看看吗,谢谢了.
- 写一个循环语句....
- 还是数据库连接类 求完美
- 学java请进
打开计算器,菜单选项选择“科学型”或者“程序员”,
在十进制下输入2,然后切换到二进制下。此时显示的是二进制10.
然后Lsh,代表Left Shift即,左位移 << 输入 1,代表向左位移1次,结果为二进制100(十进制4)。
再Lsh,输入1,=,(或者直接=)得到1000(8),再次得到10000(16)>> 以及 >>> 方向刚好相反,只是>>保留最高位的符号位不动,>>>连符号位一起移动。~代表把二进制所有的位置,0和1互换
<< 左移运算符,将所有位左移一位,右边补0,相当于乘以2
>> 右移运算符,将所有位右移一位,左边补1(有符号数),相当于除以2
>>>右移运算符,将所有位右移一位,左边补0(无符号数),也是相当于除以2~按位取反
<<为带符号的向左移位运算符,a<<b的结果为a*(2^b);
>>>为不带符号的向右移位运算符,一般很少用;
总结为一句话为:某数向右移几位,结果就为该数整除2的几次方;
某数向左移几位,结果就为该数乘以2的几次方;
<<和>> 运算符是将二进制位进行左移或者右移的操作
>>>运算符是将用0填充高位,>>运算符是用符号填充高位 没有<<<运算符
2<<3 = 16 2的二进制是100左移三位100000=2^4=16
或者3>>>2 = 0 二进制是011右移2位根据上面的概念可知为0
~2<<3 = -24 先按位取反 在进行左移就可以得到了