`
jccjtt18z
  • 浏览: 3669 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

位运算符——>>,<<

阅读更多

       移位运算符也针对二进制的“位”,它主要包括:左移位运算符(<<)、右移位运算符(>>>)、带符号的右移位运算符(>>)。


1.左移运算符
左移运算符用“<<”表示,是将运算符左边的对象,向左移动运算符右边指定的位数,并且在低位补零。其实,向左移n 位,就相当于乘上2 的n 次方,例如下面的例子。
public class data17
{
public static void main(String[] args)
{
int a=2;
int b=2;
System.out.println("a 移位的结果是:"+(a<<b));
}
}
运行结果
a 移位的结果是:8
分析上面的程序段:
首先从本质上来分析,2 的二进制是00000010,它向左移动2 位,就变成了00001000,即8。如果从另一个角度来分析,它向左移动2 位,其实就是乘上2 的2 次方,结果还是8。

 
2.右移运算符
右移运算符用符号“>>>”表示,是将运算符左边的对象向右移动运算符右边指定的位数,并且在高位补0,其实右移n 位,就相当于除上2 的n 次方。
public class data18
{
public static void main(String[] args)
{
int a=16;
int b=2;
System.out.println("a 移位的结果是:"+(a>>>b));
}
}
运行结果
a 移位的结果是:4
分析上面的程序段:从本质上来分析,16 的二进制是00010000,它向右移动2 位,就变成了00000100,即4。如果从另一个角度来分析,它向右移动2 位,其实就是除以2 的2 次方,结果还是4。

 
3.带符号的右移运算符
带符号的右移运算符用符号“>>”表示,是将运算符左边的运算对象,向右移动运算符右边指定的位数。如果是正数,在高位补零,如果是负数,则在高位补1,先看下面一个简单的例子。
public class data19
{
public static void main(String[] args)
{
int a=16;
int c=-16;
int b=2;
int d=2;
System.out.println("a 的移位结果:"+(a>>b));
System.out.println("c 的移位结果:"+(c>>d));
}
}
运行结果
a 的移位结果:4
c 的移位结果:-4
分析上面的程序段:
a 的值是16,转换成二进制是00010000,让它右移两位成00000100 即4。
c 的值是-16,转换成二进制是11101111,让它右移一位成11111011 即-4。

分享到:
评论

相关推荐

    Python中文手册

    解决问题——编写一个Python脚本 &lt;br&gt;&lt;br&gt;问题 &lt;br&gt;&lt;br&gt;解决方案 &lt;br&gt;&lt;br&gt; 版本一 &lt;br&gt;&lt;br&gt; 版本二 &lt;br&gt;&lt;br&gt; 版本三 &lt;br&gt;&lt;br&gt; 版本四 &lt;br&gt;&lt;br&gt; 进一步优化 &lt;br&gt;&lt;br&gt;软件开发过程 &lt;br&gt;&lt;br&gt;概括 &lt;br&gt;&lt;br&gt;11....

    javascript运算符——位运算符全面介绍.docx

    ### JavaScript运算符——位运算符全面介绍 #### 一、引言 JavaScript作为一种广泛使用的编程语言,在前端开发、后端开发乃至数据科学等领域都有着举足轻重的地位。位运算符作为JavaScript运算符的一种,虽然不如...

    javascript运算符——位运算符全面介绍

    本文将介绍javascript中常常被忽视的运算符——位运算符 二进制表示  ECMAScript中的所有数值都以IEEE-754 64位格式存储,但位操作符并不直接操作64位的值,而是以32位带符号的整数进行运算的,并且返回值也是一个...

    大家一起来玩分形——SimpleFractal0.01发布

    &lt;br&gt;&lt;br&gt; 支持的运算符有-(负号)、+、-、*、/、^(幂运算符)、=、(、)、i(虚数定义符)、&lt;、&lt;=、&gt;、&gt;=、!=、==;&lt;br&gt;&lt;br&gt; 支持的函数有abs, arg, conj, real, imag, norm, exp, log, log10, sqrt, sin, cos, sinh, ...

    MATLAB 7_0实用指南 (上册)

    )设计&lt;br&gt;5.1GUIDE简介&lt;br&gt;5.1.1启动GUIDE””&lt;br&gt;5.1.2输出编辑器&lt;br&gt;5.1.3...——交互绘图&lt;br&gt;8.1.3使用绘图工具&lt;br&gt;8.1.4用工作空间中的变量绘图&lt;br&gt;8.1.5指定数据源&lt;br&gt;8.1.6编辑图形&lt;br&gt;8.1.7使用图形编辑模式&lt;br&gt;...

    Delphi7.完美经典.part1

    &lt;br&gt;6-4-3 关系运算符(Relational Operator) &lt;br&gt;6-4-4 布尔运算符 &lt;br&gt;6-4-5 集合运算符 &lt;br&gt;6-4-6 字符串运算符 &lt;br&gt;6-4-7 位逻辑运算符 &lt;br&gt;6-4-8 运算符优先级 &lt;br&gt;6-5 流程控制 &lt;br&gt;6-5-1 语句的基本概念 &lt;br&gt;6...

    浅谈javascript运算符——条件,逗号,赋值,()和void运算符_.docx

    本文将深入探讨JavaScript中的五种特定运算符:条件运算符、逗号运算符、赋值运算符、括号运算符以及void运算符。 条件运算符,也称为三元运算符,是JavaScript中最紧凑的逻辑判断形式。它具有以下语法结构: ```...

    Java JDK实例宝典

    &lt;br&gt;第1章 Java基础 &lt;br&gt;1.1 转换基本数据类型 &lt;br&gt;1.2 Java的运算符 &lt;br&gt;1.3 控制程序的流程 &lt;br&gt;1.4 计算阶乘 &lt;br&gt;1.5 实现命令行程序 &lt;br&gt;第2章 Java面向对象程序设计 &lt;br&gt;2. 1 复数类 &lt;br&gt;2. 2 equals.chashCode...

    javascript运算符——逻辑运算符全面解析

    下面小编就为大家带来一篇javascript运算符——逻辑运算符详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    编译原理课程设计——对PL/0作出修改扩充

    ①FOR &lt;变量&gt;:=&lt;表达式&gt; TO &lt;表达式&gt; DO &lt;语句&gt; ②FOR &lt;变量&gt;:=&lt;表达式&gt; DOWNTO &lt;表达式&gt; DO &lt;语句&gt; 其中,语句①的循环变量的步长为1,语句②的循环变量的步长为-1。 选做内容: (1)增加运算:++ 和 --。...

    编译原理课程设计布尔表达式

    `&lt;逻辑运算符&gt;`、`&lt;比较运算符&gt;`、`&lt;加法运算符&gt;`和`&lt;乘法运算符&gt;`是终结符。 **选择的语法分析方法:** - **递归下降法:** 最简单直接的方法,适用于简单的文法结构。 - **LL(1)分析:** 使用预测分析表,适用...

    python运算符(csdn)————程序.pdf

    Python的运算符优先级遵循一定的规则,通常为:算术运算符(先乘除后加减,有括号先计算括号内的运算)&gt; 位运算符 &gt; 比较运算符 &gt; 布尔运算符 &gt; 赋值运算符。理解这个优先级可以帮助我们正确地组织表达式,避免出现...

    第章ASP脚本语言-VBScript2022优秀文档.ppt

    VBScript支持多种运算符,包括算术运算符(如+、-、*、/、\、^和Mod)、逻辑运算符(如And、Or、Not)、比较运算符(如=、&lt;&gt;、&lt;、&gt;、&lt;=和&gt;=),以及字符串连接符(&)。例如: ```vbscript x = 5 + 2 ' 加法运算 y ...

    浅谈javascript运算符——条件,逗号,赋值,()和void运算符

    javascript中运算符总共有46个,除了前面已经介绍过的算术运算符、关系运算符、位运算符、逻辑运算符之外,还有很多运算符。本文将介绍条件运算符、逗号运算符、赋值运算符、()和void运算符 条件运算符  条件运算符...

    c++特殊运算符重载---流运算符重载(csdn)————程序.pdf

    本篇将详细探讨流运算符重载,也就是`&lt;&lt;`和`&gt;&gt;`这两个运算符在处理输入输出流时如何被重载。 首先,`cin`和`cout`是C++中的两个预定义对象,分别代表输入流和输出流。`cin`是`istream`类型的对象,用于读取输入数据...

    详解Python运算符 —— 超详细

    - `&lt;&lt;` 左移,将二进制位向左移动指定位置 - `&gt;&gt;` 右移,将二进制位向右移动指定位置 5. **逻辑运算符**: - `and` 逻辑与,只有当两边的操作数都为真时,结果才为真 - `or` 逻辑或,只要有一边的操作数为真,...

    原生js通过一行代码实现简易轮播图.docx

    &lt;title&gt;Document&lt;/title&gt; &lt;style&gt; * { margin: 0; padding: 0; } ul, li { list-style: none; } .container { width: 600px; height: 400px; margin: 100px auto; box-shadow: 0 0 5px green; ...

Global site tag (gtag.js) - Google Analytics