移位运算符也针对二进制的“位”,它主要包括:左移位运算符(<<)、右移位运算符(>>>)、带符号的右移位运算符(>>)。
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脚本 <br><br>问题 <br><br>解决方案 <br><br> 版本一 <br><br> 版本二 <br><br> 版本三 <br><br> 版本四 <br><br> 进一步优化 <br><br>软件开发过程 <br><br>概括 <br><br>11....
### JavaScript运算符——位运算符全面介绍 #### 一、引言 JavaScript作为一种广泛使用的编程语言,在前端开发、后端开发乃至数据科学等领域都有着举足轻重的地位。位运算符作为JavaScript运算符的一种,虽然不如...
本文将介绍javascript中常常被忽视的运算符——位运算符 二进制表示 ECMAScript中的所有数值都以IEEE-754 64位格式存储,但位操作符并不直接操作64位的值,而是以32位带符号的整数进行运算的,并且返回值也是一个...
<br><br> 支持的运算符有-(负号)、+、-、*、/、^(幂运算符)、=、(、)、i(虚数定义符)、<、<=、>、>=、!=、==;<br><br> 支持的函数有abs, arg, conj, real, imag, norm, exp, log, log10, sqrt, sin, cos, sinh, ...
)设计<br>5.1GUIDE简介<br>5.1.1启动GUIDE””<br>5.1.2输出编辑器<br>5.1.3...——交互绘图<br>8.1.3使用绘图工具<br>8.1.4用工作空间中的变量绘图<br>8.1.5指定数据源<br>8.1.6编辑图形<br>8.1.7使用图形编辑模式<br>...
<br>6-4-3 关系运算符(Relational Operator) <br>6-4-4 布尔运算符 <br>6-4-5 集合运算符 <br>6-4-6 字符串运算符 <br>6-4-7 位逻辑运算符 <br>6-4-8 运算符优先级 <br>6-5 流程控制 <br>6-5-1 语句的基本概念 <br>6...
本文将深入探讨JavaScript中的五种特定运算符:条件运算符、逗号运算符、赋值运算符、括号运算符以及void运算符。 条件运算符,也称为三元运算符,是JavaScript中最紧凑的逻辑判断形式。它具有以下语法结构: ```...
<br>第1章 Java基础 <br>1.1 转换基本数据类型 <br>1.2 Java的运算符 <br>1.3 控制程序的流程 <br>1.4 计算阶乘 <br>1.5 实现命令行程序 <br>第2章 Java面向对象程序设计 <br>2. 1 复数类 <br>2. 2 equals.chashCode...
下面小编就为大家带来一篇javascript运算符——逻辑运算符详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
①FOR <变量>:=<表达式> TO <表达式> DO <语句> ②FOR <变量>:=<表达式> DOWNTO <表达式> DO <语句> 其中,语句①的循环变量的步长为1,语句②的循环变量的步长为-1。 选做内容: (1)增加运算:++ 和 --。...
`<逻辑运算符>`、`<比较运算符>`、`<加法运算符>`和`<乘法运算符>`是终结符。 **选择的语法分析方法:** - **递归下降法:** 最简单直接的方法,适用于简单的文法结构。 - **LL(1)分析:** 使用预测分析表,适用...
Python的运算符优先级遵循一定的规则,通常为:算术运算符(先乘除后加减,有括号先计算括号内的运算)> 位运算符 > 比较运算符 > 布尔运算符 > 赋值运算符。理解这个优先级可以帮助我们正确地组织表达式,避免出现...
VBScript支持多种运算符,包括算术运算符(如+、-、*、/、\、^和Mod)、逻辑运算符(如And、Or、Not)、比较运算符(如=、<>、<、>、<=和>=),以及字符串连接符(&)。例如: ```vbscript x = 5 + 2 ' 加法运算 y ...
javascript中运算符总共有46个,除了前面已经介绍过的算术运算符、关系运算符、位运算符、逻辑运算符之外,还有很多运算符。本文将介绍条件运算符、逗号运算符、赋值运算符、()和void运算符 条件运算符 条件运算符...
本篇将详细探讨流运算符重载,也就是`<<`和`>>`这两个运算符在处理输入输出流时如何被重载。 首先,`cin`和`cout`是C++中的两个预定义对象,分别代表输入流和输出流。`cin`是`istream`类型的对象,用于读取输入数据...
- `<<` 左移,将二进制位向左移动指定位置 - `>>` 右移,将二进制位向右移动指定位置 5. **逻辑运算符**: - `and` 逻辑与,只有当两边的操作数都为真时,结果才为真 - `or` 逻辑或,只要有一边的操作数为真,...
<title>Document</title> <style> * { margin: 0; padding: 0; } ul, li { list-style: none; } .container { width: 600px; height: 400px; margin: 100px auto; box-shadow: 0 0 5px green; ...