2 lt lt 8运算 java_Java移位运算符 lt;lt; gt;gt; gt;gt;gt;_Java_七九推
简述
java有三种移位运算符,分别为:
左移运算符 <<
右移运算符 >>
无符号右移运算符 >>>
首先,移位运算符根据名字可知是使用二进制进行运算的。在integer.java中,我们可以看到有两个静态常量,min_value 和 max_value,这两个常量控制了integer的最小值和最大值,如下:
/**
* a constant holding the minimum value an {@code int} can
* have, -231.
*/
@native public static final int min_value = 0x80000000;
/**
* a constant holding the maximum value an {@code int} can
* have, 231-1.
*/
@native public static final int max_value = 0x7fffffff;
注释上说明这两个值得范围:
min_value(最小值) = -2^31 = -2,147,483,648
max_value(最大值) = 2^31 = 2,147,483,647
在32位运算中,首位为1则代表负数,0则代表正数,如:
1000 0000 0000 0000 0000 0000 0000 0000 负数,该值等于min_value
0111 1111 1111 1111 1111 1111 1111 1111 正数,该值等于max_value
根据上述可知,integer是32位运算的。
左移运算符 <<
使用 << 时,需要在低位进行补0,例子如下:
int a = 3;
system.out.println(integer.tobinarystring(a));
int b = a << 1;
system.out.println(integer.tobinarystring(b));
system.out.println(b);
system.out.println("----------------------------------------------");
int c = -3;
system.out.println(integer.tobinarystring(c));
int d = c << 1;
system.out.println(integer.tobinarystring(d));
system.out.println(d);
输入如下:
11
110
6
----------------------------------------------
11111111111111111111111111111101
11111111111111111111111111111010
-6
可以清楚的看到 3 << 1 时,在后面补0,得到 110 即等于6;
右移运算符 >>
右移运算符时,正数高位补0,负数高位补1。如:
int a = 3;
system.out.println(integer.tobinarystring(a));
int b1 = a >> 1;
system.out.println(integer.tobinarystring(b1));
system.out.println(b1);
system.out.println("----------------------------------------------");
int c = -3;
system.out.println(integer.tobinarystring(c));
int d = c >> 1;
system.out.println(integer.tobinarystring(d));
system.out.println(d);
输出如下:
11
1
1
----------------------------------------------
11111111111111111111111111111101
11111111111111111111111111111110
-2
无符号右移 >>>
在正数当中,>> 和 >>> 是一样的。负数使用无符号右移时,则高位不进行补位。
int c = -3;
system.out.println(integer.tobinarystring(c));
int d = c >>> 1;
system.out.println(integer.tobinarystring(d));
system.out.println(d);
输出如下:
11111111111111111111111111111101
1111111111111111111111111111110
2147483646
总结
左移运算符 << : 需要在低位进行补0
右移运算符 >> : 正数高位补0,负数高位补1
无符号右移运算符 >>> :在正数当中,>> 和 >>> 是一样的。负数使用无符号右移时,则高位不进行补位
希望与广大网友互动??
点此进行留言吧!
2 lt lt 8运算 java_Java移位运算符 lt;lt; gt;gt; gt;gt;gt;_Java_七九推相关推荐
- python左移位运算_python移位运算符
1,二进制方式 >>> bin( 1)'0b1' >>> bin( 10)'0b1010' >>> a =0b10>>>a2 & ...
- python左移位运算_python 移位运算符只能用于整型吗
匿名用户 1级 2016-12-29 回答 什么是操作符? 简单的回答可以使用表达式4 + 5等于9,在这里4和5被称为操作数,+被称为操符. Python语言支持操作者有以下几种类型. 算术运算符 ...
- 移位运算符,>>,<<以及>>>的含义以及运算方法
移位运算符: 就是在二进制的基础上对数字进行平移.按照平移的方向和填充数字的规则分为三种:<<(左移).>>(带符号右移)和>>>(无符号右移). 在移位运算 ...
- java 二进制、位运算、和移位运算符(2013-07-30-bd 写的日志迁移
二进制是逢2进位的进位制,0.1是基本算符, 1字节=8位 比如 int a =1 ;int 占4个字节在计算机里表示为: java中的4个位运算,分别是"按位与&.按位或|.按位异 ...
- java中 移位运算_java中关于移位运算符的demo与总结(推荐)
首先,移位运算符有三种,其操作类型只支持:byte / short / char / int和long五种. << 左移运算符,表示将左边的操作数的二进制数据向左移动*位,移动后空缺位以0 ...
- Java 移位运算符 >>、<< 、>>是怎样进行运算的?
今天不知为啥突然想知道 移位运算符 是怎么进行计算的. >> 带符号右移 带符号右移,将整数换为二进制 向右移动一位 并且 正数在最高位添0,负数在最高位添 1. 例: 正数 10> ...
- java中的移位运算符
移位运算符是在数字的二进制形式上进行平移.主要有左移(<<).带符号右移(>>)以及无符号右移(>>>). 左移运算符(<<)的运算规则为:按二进 ...
- Java二进制位运算、移位运算、、
为什么80%的码农都做不了架构师?>>> Java二进制位运算.移位运算 思考题 1.请看下面的代码段,回答a,b,c,d,e结果是多少? public static void ...
- java比较运算_Java比较运算符
注意哦: 1. > . < . >= . <= 只支持左右两边操作数是数值类型 2. == . != 两边的操作数既可以是数值类型,也可以是引用类型 public clas ...
最新文章
- Spring IOC 之 加载 Bean
- 算法(第4版)学习笔记
- 关于Static控件背景透明时文本覆盖重影的问题
- 华为鸿蒙ai字幕,EMUI11一个值得吹爆的功能?AI字幕,支持翻译英日韩
- 6升小米6——算法解题
- OpenCV2学习笔记(十四):基于OpenCV卡通图片处理
- mysql c 多线程封装_mysqlConnectorC/C++多线程封装_MySQL
- python字典定义方式_Python字典常用方法及汇总
- django 与 vue 的完美结合
- FusionCharts V3图表导出图片和PDF属性说明
- Gentoo下搭建DNS中转服务器基本配置
- 从0开始html前端页面开发_CSS实现图像获取鼠标焦点逐渐变大动画效果
- abaqus盾构隧道建模实例_abaqus盾构施工模拟
- xmpp即时通讯协议的特性---长处和缺点!
- 原生ajax调用,JavaScript进阶之原生AJAX接口请求的方式
- 算法-舍弃不吉利数字
- Task05|joyfulpandas|变形
- 直播APP源码iOS 调用系统铃声震动
- GitLab允许开发人员推送到master分支
- RCLAMP0544T 国产替代上海雷卯ULC0544T
热门文章
- Visual C++ Samples-------------Code Project
- Linux Ubuntu搭建git服务器
- 面向.Net程序员的Sql版本管理
- 运用Mono.Cecil 反射读取.NET程序集元数据
- Android开发(22)--seekBar采用handler消息处理操作
- 浅谈C#实现Web代理服务器的几大步骤
- 中职学校计算机教学参考文献,学生计算机论文,关于中职学校计算机专业教学现状相关参考文献资料-免费论文范文...
- mysql集群集成springboot_springboot配置数据库包括集群下 配置
- html怎么做成响应式的,怎么用html5完成响应式布局?
- sop8封装尺寸图_详解MOS管封装