定义:
右移动>>:带符号右移。正数右移高位补0,负数右移高位补1。
左移动<<:带符号左移。正数左移低位补0,负数左移低位补1。
无符号右移>>>:无论是正数还是负数,高位通通补0。
栗子:下面以32位表示
2的二进制:0000 0000 0000 0000 0000 0000 0000 0010
-2的二进制:1111 1111 1111 1111 1111 1111 1111 1110
获取2的负数二进制表示:2的二进制补码加1
1111 1111 1111 1111 1111 1111 1111 1101
加1
1111 1111 1111 1111 1111 1111 1111 1110
<1、2>>>1
1)去掉红色数字:0000 0000 0000 0000 0000 0000 0000 0010
2)高位补0 :0000 0000 0000 0000 0000 0000 0000 0001
<2、2>>1
1 ) 去掉红色数字:0000 0000 0000 0000 0000 0000 0000 0010
2)高位补0 :0000 0000 0000 0000 0000 0000 0000 0001
<3、-2>>1
1) 去掉红色数字 :1111 1111 1111 1111 1111 1111 1111 1110
2)高位补1 :1111 1111 1111 1111 1111 1111 1111 1111
<4、2<<1
1 ) 去掉红色数字 :0000 0000 0000 0000 0000 0000 0000 0010
2 ) 低位补0 :0000 0000 0000 0000 0000 0000 0000 0100
<5、-2<<1
1 ) 去掉红色数字 : 1111 1111 1111 1111 1111 1111 1111 1110
2 ) 低位补1 : 1111 1111 1111 1111 1111 1111 1111 1101
<6、-2>>>1
1 ) 去掉红色数字 :1111 1111 1111 1111 1111 1111 1111 1110
2 ) 高位补0 :0111 1111 1111 1111 1111 1111 1111 1111
总结:
2>>>1 相当于2乘以2^1 同理2>>>2^n相当于乘以2^n 无符号位操作都补0
2>>1 相当于2乘以2^1 同理2>>>2^n相当于乘以2^n 正数高位补0,负数高位不1
2<<1 相当于2乘以2^1 同理2>>>2^n相当于乘以2^n 正数左移低位补0,负数左移低位补1。
相关推荐
/ mi> </ msub> <mo>→</ mo> <msup> <mi> N </ mi> <mo> ∗ </ mo> </ msup> <msup> <mi>ℓ</ mi> < mo> + </ mo> </ msup> <msup> <mi>ℓ</ mi> <mo>-</ mo> </ msup> </ mrow> </ math>衰减是在 轻锥体QCD...
<directory>src/main/java</directory> <includes> <include>**/*.properties</include> <include>**/*.xml</include> </includes> <filtering>false</filtering> </resource> <resource> <directory>src/...
<artifactId>db2jcc4</artifactId> <version>1.0.0</version> <scope>system</scope> <systemPath>自己创建的存放db2jcc4.jar路径</systemPath> </dependncy> <dependency> <groupId>com.ibm.db2</...
<groupId>org.apache.spark</groupId> <artifactId>spark-core_2.11</artifactId> <version>2.3.1</version> </dependency> <!-- https://mvnrepository.com/artifact/org.apache.spark/spark-sql --> ...
<Product>Aspose.Total for Java</Product> <Product>Aspose.Words for Java</Product> </Products> <EditionType>Enterprise</EditionType> <SubscriptionExpiry>20991231</SubscriptionExpiry> ...
一般使用springjdbc、hibernate的sql查询,库获取到的数据都是List<Map<String, Object>>结果集,如果我们要转化为JavaBean,则需要做一系列的...此工程中就是解决List<Map<String, Object>>转化为JavaBean工具类实现
java课设超市订单管理系统源代码。基于mysql数据库,原生JDBC框架,Web工程,大学实训,课程设计。#java课设 导入项目中涉及的 jar包 servlet&jsp ... <artifactId>mysql-connector-java</artifactId>
<%@ page import="java.sql.*" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html...
简短描述:<br>JAVA做的中文输入法!<br>支持繁体简体,支持粤语国语.<br>跨平台支持!...<br><br><br><br><br> <br>安装步骤:<br>java -jar CantoInput.jar<br><br> <br>测试环境:<br>Linux/Windows<br>提交者:jython<br>
<name>Example_1</name> <comment></comment> <projects> </projects> <buildSpec> <buildCommand> <name>com.adobe.flexbuilder.project.flexbuilder</name> <arguments> </arguments> </build...
在Java开发过程中,为了保护源代码的安全性和防止恶意逆向工程,开发者经常会对代码进行混淆。Allatori Java Obfuscator是一款强大的工具,可以实现这一目标。本教程将讲解如何使用Maven结合Allatori将Java程序打包...
<groupId>org.elasticsearch</groupId> <artifactId>elasticsearch</artifactId> <version>6.4.0</version> </dependency> <dependency> <groupId>org.elasticsearch.client</groupId> <artifactId>elastic...
用UML进行对象建模<br>为什么使用UML<br>什么是UML<br>UML图表<br>如何将UML建模图表配合在一起<br>如何将UML合并到我们的项目中<br>可以考虑的一些UML CASE工具<br>小结<br>第4章 数据建模<br>数据建模的阶段<br>...
<groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.8</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>...
源代码<html> <head> <meta ... <li><dt>我的电脑</dt></li> <ol type="circle"> <li>本地磁盘C:</li> <ol type="square"> 我的文档<br/> 我的收蒧 </ol> </dl> </ol>
<version>4.0.3</version> <groupId>com.itextpdf</groupId> <artifactId>font-asian</artifactId> <version>7.2.4</version> <groupId>com.itextpdf</groupId> <artifactId>itext7-core</artifactId> <version>...
< artifactId>unirest-java</ artifactId> < version>3.11.11</ version> </ dependency> <!-- OR as a snazzy new standalone jar with shaded dependencies --> < dependency> < groupId>com.konghq</ ...
资源中只有Java代码,忘了提供maven依赖,需要自己加maven依赖: <dependency> <groupId>com.google.zxing</groupId> <artifactId>javase</artifactId> <version>3.1.0</version> </dependency> ...
<javaClientGenerator targetPackage="com.your.package.name.mapper" targetProject="src/main/java" type="XMLMAPPER"> <property name="enableSubPackages" value="true"/> </javaClientGenerator> </context...
总的来说,Java中的List到数组的转换可以通过多种方式进行,包括使用传统的for循环或利用JDK 1.8引入的Stream API。选择哪种方法取决于你的项目需求,如对性能、代码可读性和简洁性的要求。理解这些转换方法可以帮助...