java有符号和无符号右移
Java中提供了两种右移操作符:有符号右移操作符>>和无符号右移操作符>>>。它们的区别在于,有符号右移操作符会将高位填充为符号位(即正数填充0,负数填充1),而无符号右移操作符会将高位填充为0。
下面分别给出有符号右移和无符号右移的例子:
- 有符号右移
int a = -8;
int b = a >> 2;
System.out.println(Integer.toBinaryString(a)); // 11111111111111111111111111111000
System.out.println(Integer.toBinaryString(b)); // 11111111111111111111111111111110
在这个例子中,a是一个负数(其二进制表示的最高位是1),将a向右移动2位时,高位会被填充为1,得到的结果是一个负数,其二进制表示的最高位仍然是1。
int c = 8;
int d = c >> 2;
System.out.println(Integer.toBinaryString(c)); // 1000
System.out.println(Integer.toBinaryString(d)); // 10
在这个例子中,c是一个正数(其二进制表示的最高位是0),将c向右移动2位时,高位会被填充为0,得到的结果是一个正数,其二进制表示的最高位仍然是0。
- 无符号右移
int a = -8;
int b = a >>> 2;
System.out.println(Integer.toBinaryString(a)); // 11111111111111111111111111111000
System.out.println(Integer.toBinaryString(b)); // 00111111111111111111111111111110
在这个例子中,a是一个负数(其二进制表示的最高位是1),将a进行无符号右移操作时,高位会被填充为0,得到的结果是一个正数,其二进制表示的最高位是0。
int c = 8;
int d = c >>> 2;
System.out.println(Integer.toBinaryString(c)); // 1000
System.out.println(Integer.toBinaryString(d)); // 10
在这个例子中,c是一个正数(其二进制表示的最高位是0),将c进行无符号右移操作时,高位会被填充为0,得到的结果是一个正数,其二进制表示的最高位仍然是0。
java有符号和无符号右移相关推荐
- java signed_java什么是有符号、无符号
有符号与无符号的概念 最明显的区别就是二者表示的范围不同 无符号数中,所有的位都用于直接表示该值的大小. 有符号数中最高位用于表示正负,所以,当为正值时,该数的最大值就会变小. 我们举一个字节的数值对 ...
- c语言无符号扩展,深入理解计算机系统(2.4)---C语言的有符号与无符号、二进制整数的扩展与截断...
开篇请各位猿友允许LZ啰嗦几句,最近一直在写计算机系统原理这系列文章,也已经下定决心要把这本书的内容写完.主要目的其实是为了巩固LZ的理解,另外也想把这些内容分享给猿友们,毕竟LZ觉得这些内容对程序猿 ...
- 深入理解计算机系统(2.4)---C语言的有符号与无符号、二进制整数的扩展与截断...
开篇请各位猿友允许LZ啰嗦几句,最近一直在写计算机系统原理这系列文章,也已经下定决心要把这本书的内容写完.主要目的其实是为了巩固LZ的理解,另外也想把这些内容分享给猿友们,毕竟LZ觉得这些内容对程序猿 ...
- linux有符号和无符号,汇编中有符号与无符号数的区分
转载自:http://hi.baidu.com/asmsky/blog/item/7290d20076cab6da277fb5b8.html 一.只有一个标准! 在汇编语言层面,声明变量的时候,没有 ...
- 【C语言进阶深度学习记录】二 有符号与无符号
今天学习C语言中的有符号与无符号 文章目录 1 计算机中的符号位 1.1 有符号数的表示法 1.2 无符号数的表示法 1.3 signed 和 unsigned 2 实验-当有符号数与无符号数进行运算 ...
- C语言——确定char、short、int和short变量有符号和无符号时的取值范围
C语言--确定char.short.int和short变量有符号和无符号时的取值范围 #include <stdio.h> #include <limits.h>// dete ...
- 有符号和无符号整型的临界点
在C++ primer plus 上的图 觉得好久copy下来了 关于有符号和无符号整型的重置点 .
- C语言中的有符号与无符号(挖坑)
1.计算机中的符号位,计算机如何表示正数和负数? 数据类型的最高位用于标识数据的符号 最高位为1,表明这个数为负数 最高位为0,表明这个数为正数 2.有符号数的表示法 在计算机内部用补码表示有符号数 ...
- Verilog -- 有符号与无符号的加法和乘法运算
目录 Verilog中有符号与无符号的加法和乘法运算 无符号乘法和加法 有符号乘法和加法 有符号和无符号运算 参考: https://blog.csdn.net/vivid117/article/de ...
- c++基本数据类型基本类型: 整型: 短整型: short int 整型: int 长整型:long int 字符型:char(分为有符号和无符号,默认有符号) 浮点型:
基本类型: 整型: 短整型: short int 整型: int 长整型:long int 字符型:char(分为有符号和无符号,默认有符号) 浮点型:单精度型:float 双精度型:double 长 ...
最新文章
- BZOJ1086:[SCOI2005]王室联邦——题解
- 【Python】8000字概括精髓,pandas必知必会50例
- git查看分支记录_git原理
- OpenCV图像中的人脸界标检测
- AnularJS1事件
- r语言ggplot画两条曲线_R语言作图——Line plot with error
- nagios监控linux主机,Nagios监控平台之二:nrpe监控远程Linux主机 | 旺旺知识库
- Android 科大讯飞离线语音识别
- Win7 便签设置字体方法
- linux源码分析汇总
- Spark2.1.1中用各种模式运行计算圆周率的官方Demo
- 人工智能教程1---科普人工智能
- Thinkpad自修壁纸 2019
- 王之泰201771010131《面向对象程序设计(java)》第十七周学习总结
- html中删除代码怎么写,Word删除html代码怎么写
- 【2021牛客暑期多校训练营7 】 xay loves count
- python,jsonschema, marshmallow, “None is not of type ‘string‘
- librosa重采样和声道设置
- align-content 和align-items的区别
- react浏览器兼容报错处理
热门文章
- 【案例】全国知名网上书城——基于企业中台构建智慧悦读体验
- JVM内存模型与内存溢出异常
- C#,SOAP1.1与1.2的发布与禁用(SOAP 1.2 in .NET Framework 2.0)
- 【转】这是一篇很完整的元器件选型指南
- OpenCV读取图片和保存图片全黑
- 金融量化交易场景下数据库如何改造?同花顺、弘源泰平真实案例分享
- SAP S4 HANA 本地化报表配置(科目余额表/资产负债表/利润表/会计凭证明细表)
- JavaScript大作业 (校园运动会网站设计与实现)
- three.js使用光线投射对象Raycaster在屏幕中拾取/选取对象(vue中使用three.js60)
- 抓铁有力榜:踏石有印,抓铁留痕