java移位运算符分为三种,<<(左移),>>(带符号右移),>>>(不带符号右移)。对于byte和short类型,在移位运算前会首先把参与运算的数值转为int型,再进行移位运算,因此移位运算后得到的结果是一个整形数据。有符号数以补码表示,最高位为1代表负数,最高位为0则代表正数。所有位为0则表示0。在不溢出的情况下,<<(左移)移一位则代表原数值*2,带符号右移>>一位则代表原数值/2。
左移<<:所有位左移,低位补0。
带符号右移>>:所有位右移,低位舍弃,最高位补符号位(1:负数,0:正数)
不带符号右移>>>:所有位右移,低位舍弃,高位补0
public static void main(String[] args) { byte n = -21; System.out.println("原值:"+Integer.toBinaryString(n)); System.out.println("左移:"+Integer.toBinaryString(n<<1)); System.out.println("带符号右移:"+Integer.toBinaryString(n>>1)); System.out.println("不带符号右移:"+Integer.toBinaryString(n>>>1)); }
现实结果如下:
原值原值原值:11111111111111111111111111101011
左移左移左移:11111111111111111111111111010110
带带符号右移:11111111111111111111111111110101
不带符号右移:1111111111111111111111111110101(由于高位为0,没有显示)
相关推荐
java 移位运算符 java 移位运算符 java 移位运算符
主要介绍了Java移位运算符详解实例(小结),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
java中有三种移位运算符 : 左移运算符,num ,相当于num乘以2>> : 右移运算符,num >> 1,
主要介绍了Java三种移位运算符原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
Java中的进制与移位运算符 Java中的进制与移位运算符
移位运算符
下面小编就为大家带来一篇java中关于移位运算符的demo与总结(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
介绍了java中的移位运算符,有需要的朋友可以参考一下
Java运算符分类 Java运算符主要分为四类:算术运算符、关系运算符、逻辑运算符和位运算符,这些运算符...位运算符主要用于处理二进制数据,包括与、或、非、异或和移位等操作,它们可以实现对数据的快速处理和转换。
主要讲述Java中移位运算,包括:基本数据类型范围、二进制的概念,移位运算符,基本数据类型与二进制之间的转换等。
因为Java 使用2的补码来存储负数,并且因为Java 中的所有整数都是有符号的,这样应用位运算符可以容易地达到意想不到的结果。例如,不管你如何打算,Java 用高位来代表负数。为避免这个讨厌的意外,请记住不管高位的...
【IT十八掌徐培成】Java基础第02天-04.运算符-移位运算-逻辑运算.zip
主要介绍了Java中的位运算符、移位运算,有需要的朋友可以参考一下
2023最新整理,java...12. 移位运算符 12 13. continue、break 和 return 的区别是什么? 13 14. 成员变量与局部变量的区别? 15 13. 静态变量有什么作用? 15 14. 字符型常量和字符串常量的区别? 15 15. 什么是方法
4.6移位运算符 4.7赋值运算符 4.8字符串串联运算符 4.9条件运算符?: 4.10比较运算符实例 4.11运算符优先级 章末问题 第五章控制声明 5.1句子类型 5.2 if陈述 5.3开关声明 5.4声明 5.5扩展用于声明 5.6...
java2入门经典.part01 Java2入门经典 图书目录 译者序 序 前言 第一章:Java概述 什么是Java ...移位运算 按位运算的方法 有固定序列整型值的变量(枚举) 布尔型变量 运算符的优先级 程序注释 本章小结 ……
译者序 序 前言 第一章:Java概述 什么是Java Java语言的特性 学习Java ava程序 学习Java要走的路 ...移位运算 按位运算的方法 有固定序列整型值的变量(枚举) 布尔型变量 运算符的优先级 程序注释 本章小结 ……
3.1.8 移位运算符 3.1.9 三元if-else运算符 3.1.10 逗号运算符 3.1.11 字串运算符+ 3.1.12 运算符常规操作规则 3.1.13 造型运算符 3.1.14 Java没有“sizeof” 3.1.15 复习计算顺序 3.1.16 运算符总结 3.2 执行控制 ...
3.1.8 移位运算符 3.1.9 三元if-else运算符 3.1.10 逗号运算符 3.1.11 字串运算符+ 3.1.12 运算符常规操作规则 3.1.13 造型运算符 3.1.14 Java没有“sizeof” 3.1.15 复习计算顺序 3.1.16 运算符总结 3.2 执行控制 ...
3.1.8 移位运算符 3.1.9 三元if-else运算符 3.1.10 逗号运算符 3.1.11 字串运算符+ 3.1.12 运算符常规操作规则 3.1.13 造型运算符 3.1.14 Java没有“sizeof” 3.1.15 复习计算顺序 3.1.16 运算符总结 3.2 执行控制 ...