java移位操作符注意的问题
如果对char,byte或者short类型的数值进行移位处理,那么在移位进行之前,他们会被转为int类型,
并且所得到的结果也是一个int型。
若对long类型的数值进行处理所得到的结果也是long。
如果对byte或者short值进行这样的右移(>>>=)运算,得到的可能是不正确的结果,他们会被转成int类型,
然后被截断,赋值给原来的类型.
public class Test {/*** @param args*/public static void main(String[] args) {int i=-1;System.out.println(Integer.toBinaryString(i));i>>>=10;System.out.println(Integer.toBinaryString(i));byte b=-1; //11111111System.out.println(Integer.toBinaryString(b)); //调用Integer的toBinaryString(int x) 32个1b>>>=10; //移位后为1111111111111111111111,因为b是byte类型,所以b= 11111111,还是-1的值System.out.println(Integer.toBinaryString(b)); //又输出32个1b=-1;System.out.println(Integer.toBinaryString(b));System.out.println(Integer.toBinaryString(b>>>10)); //移位后没有赋值,直接输出,22个1 }}
11111111111111111111111111111111
1111111111111111111111
11111111111111111111111111111111
11111111111111111111111111111111
11111111111111111111111111111111
1111111111111111111111
转载于:https://www.cnblogs.com/xurui1995/p/5188170.html
java移位操作符注意的问题相关推荐
- 一元操作符、强制类型转换表达式、乘除操作符、加法操作符、移位操作符、关系操作符、判等操作符、位操作符与逻辑操作符、条件与操作符、条件或操作符--运算机制与返回值
操作符处理及返回值 先遣提示 一元操作符 前缀递增操作符 ++ 前缀递增操作符 - - 一元加号操作符 + 关于一元数值提升或二元数值提升 可以看这篇博客 一元减号操作符 - 这里涉及了 原码,反码, ...
- 【C语言】算数操作符 移位操作符 以及 sizeof单目操作符讲解
目录 1.算术操作符 2. 移位操作符 2.1 左移操作符 2.2 右移操作符 3.sizeof 单目操作符介绍 操作符介绍: C语言操作符分为: 算术操作符 移位操作符 位操作符 赋值操作符 单目操 ...
- Java 操作符:Java 中操作符优先级、一二三元操作符及逻辑操作符的中德模佛定理
文章目录 前言 一.操作符介绍与优先级表 二.一元运算符与二元运算符的区别? 三.Java 中唯一的三元操作符 四.逻辑操作符中的德模佛定理 总结 前言 在 Java 中我们常见的操作符分为三种,分别 ...
- 不懂异或?一文详解移位操作符,位操作符
一.移位操作符 << >> 在介绍移位操作符前先学习一下二进制的表示方法,二进制表示方法有3种: 原码,反码,补码 正数原码,反码,补码相同 负数原码,反码,补码需要计算 ...
- C不会断句?【前后置,位,移位操作符详解】 b = ++c, c++, ++a, a++
介绍:首先明确基础知识 b=a++ 把a赋给b 然后a+1 c=--a 先a-1 然后把结果赋给a和c 逗号表达式的优先级较低,从左往右算 整数的原反补相同 内存中存储的都是二进 ...
- 算数操作符与移位操作符
目录 一.算数操作符 二.移位操作符 一.算数操作符 算术操作符有:+ - * / % 1. 除了 % 操作符之外,其他的几个操作符可以作用于整数和浮点数. 2. 对于 / 操作符如果两个操作数都 ...
- java移位运算符详解
java移位运算符不外乎就这三种:<<(左移).>>(带符号右移)和>>>(无符号右移). 1. 左移运算符 左移运算符<<使指定值的所有位都左移 ...
- Java移位运算符不外乎就这三种
Java移位运算符不外乎就这三种:<<(左移).>>(带符号右移)和>>>(无符号右移) 1. 左移运算符 左移运算符<<使指定值的所有位都左移规 ...
- 第三节:带你详解Java的操作符,控制流程以及数组
前言 大家好,我是 Vic,今天给大家带来带你详解Java的操作符,控制流程以及数组的概述,希望你们喜欢 操作符 算数操作符 一般的 +,-,*,/,还有两个自增 自减 ,以及一个取模 % 操作符. ...
最新文章
- 创新工场提出中文分词和词性标注模型,性能分别刷新五大数据集| ACL 2020​
- markdown语法进阶
- 还记得范进中举的故事吗
- php 常用的日期函数,常用php日期函数总结
- ONNX系列三 --- 使用ONNX使PyTorch AI模型可移植
- C语言学习笔记----sizeof()的使用
- 【iOS-Cocos2d游戏开发之二十一 】自定义精灵类并为你的精灵设置攻击帧以及动画创建!【二】...
- JavaScript的高大强
- winform的label内容居中_C# Winform label自定义大小与居中实现教程
- 基于网络安全相关的开源项目技术预研分析报告
- 01336软件项目管理复习
- fwr310刷openwrt_迅捷FWR310无线路由器的刷机
- iOS端屏幕录制ReplayKit
- mysql配置文件生效测试
- 360度全景的地拍如何制作?
- 通达信股票接口委托成功原理是什么?
- Qt+openCV学习笔记(五)Qt5.15.2+openCV4.5.4+VS2019_64编译动态库
- 蓝牙血压计医疗方案设计
- SPSS实现单样本K-S检验
- 记录打卡假期的学习计划