Java 中位移运算符 >>,>>>,<<
Java 中的三种位移运算符
java中有三种移位运算符
<< : 左移运算符,num << 1,相当于num乘以2
>> : 右移运算符,num >> 1,相当于num除以2
>>> : 无符号右移,忽略符号位,空位都以0补齐
下面将使用代码进行测试:这里涉及到码的表示:原码、反码、补码、移码
原码:最高位表示符号位,剩余位表示数字,0表示正数,1表示负数 反码:正数的反码等于原码,负数符号为不变,剩余位取反 补码:一个数如果为正,则它的原码、反码、补码相同;一个数如果为负,去到反码然后加1
移码:补码符号位取反
例如:表示10的这个数字(8位)
原码:0000 1010
反码:0000 1010
补码:0000 1010
移码:1000 1010
例如:表示数字 -10
原码:1000 1010
反码:1111 0101
补码:1111 0110
移码:0111 0110
例如:
public class MainTest {
//用于输出数字本身与其二进制数字
public static void printBinary(int num){
System.out.println(num);
System.out.println(Integer.toBinaryString(num));
}
public static void main(String[] args){
int num = -;
//输出 num 的二进制位数
printBinary(num);
//num 向右移动2位并输出
num =num >> ;
printBinary(num);
//无符号右移
num =num>>>;
printBinary(num);
}
}
其结构如下:
- -
这个数据市为了更明显的现实位移设计的,-7774向右移动2位,相当于处于4
当-7774 无符号向右移动2位,首位补0,会改变原值,结果实际如下,0系统会不显示
但是,当 - 7774 改为 7774 结果如何???
最后无符号移动:负数与原值没有关系,正数符合除以 4 点特点
但是 发现右移运算符点结果:
负数:-1994
正数:1993
Java 中位移运算符 >>,>>>,<<的更多相关文章
- 【JAVA零基础入门系列】Day5 Java中的运算符
运算符,顾名思义就是用于运算的符号,比如最简单的+-*/,这些运算符可以用来进行数学运算,举个最简单的栗子: 已知长方形的长为3cm,高为4cm,求长方形的面积. 好,我们先新建一个项目,命名为Rec ...
- Java 中的运算符和流程控制
Java 中的运算符和流程控制 + 面试题 算术运算符 Java 中的算术运算符,包括以下几种: **算术运算符** **名称** **举例** + 加法 1+2=3 - 减法 2-1=1 \* 乘法 ...
- Java中移位操作运算符的理解
java中的移位运算符有三种: 1. <<: 左移 2. >>: 右移 3. >>>: 无符号右移 使用方法:左移就是将左边的操作数在内存中的二进制数据左移指 ...
- JAVA_SE基础——11.Java中的运算符
在程序设计中,运算符应用得十分广泛,通过运算符可以将两个变量进行任意运算.数学中的"+"."-"."*"."/"运算符同 ...
- Java中位运算符的使用
先预知识: 数据在计算机中是以二进制的形式进行存储的,而二进制在内存中是以补码的形式进行存储的.在介绍位运算之前,首先来看一下原码.反码和补码的概念.由于正数的原码.反码和补码的形式都是一样的,所以以 ...
- Java中的运算符及表达式
常用的运算符:赋值运算符(=).加法运算符(+).乘法运算符(*).除法运算符(/).括号运算符(( )).余数运算符(%).布尔运算符. 注释符(//).注释的内容为双反斜杠后的内容至换行结束. j ...
- Java中逗号运算符的使用
今天看到一道面试题,题目如下: 题目解释: 上面有一个类,有四个成员属性,以及两个构造方法(一个四个参数,一个两个参数),题目给出四个选项,问哪些选项可以满足在在四个参数的构造方法中完成x=a,y=b ...
- java 中的运算符
Java的运算符,分为四类: 算数运算符.关系运算符.逻辑运算符.位运算符. 算数运算符():+ - * / % ++ -- 关系运算符():== != > >= < <= 逻 ...
- java 中的 & | ~ ^ 运算符分析
1.与运算符与运算符用符号“&”表示,其使用规律如下:两个操作数中位都为1,结果才为1,否则结果为0,例如下面的程序段.public class data13{public static vo ...
随机推荐
- uva-10422-骑士-搜索题
题意: 给你一个5X5的图,棋盘上骑士的走法自己去百度,问能不能在10步内走到目标图, 解题思路: 从目标图开始往前走10步,保存所有能走到的图,然后输入,查找是否存在这个图,存在就是可以走到,不存在 ...
- Maven私服安装
下载安装包:nexus(https://www.sonatype.com/download-oss-sonatype) 默认用户密码字符串: adminAdministratorUseractive& ...
- yii主题
修改应用的配置文件(protected/config/main.php)中加入 return array( ’theme’=>’basic’, ); 所有的视图文件必须位于views下 ,布局视 ...
- 科赫曲线和科赫雪花的绘制Python
#KochDrawV1.pyimport turtledef koch(size,n): if n == 0: turtle.fd(size) else: for angle in [0,60,-12 ...
- centos 虚拟环境 安装mezzanine cms
[root@hai envdj]# cd bin [root@hai bin]# activate -bash: activate: command not found [root@hai bin]# ...
- defaultdict
原作者: Jason Kirtland 日期: January 13th, 2009 许可证: Creative Commons Attribution-Share Alike 3.0 原文链接(PP ...
- 深度学习原理与框架-RNN网络架构-RNN网络 1.RNN的前向传播 2.RNN的反向传播
对于神经网络而言,每一个样本的输入与输入直接都是独立的,即预测的结果之间并没有联系 而对于RNN而言:不仅仅是有当前的输入,而且上一层的隐藏层也将进行输入,用于进行结果的预测.因此每一个输入都与之前的 ...
- BBS-文章详情页、点赞功能
文章详情页--布局中header和左边区域不变--用到继承 home_site和article_detail只是布局 中心区域 只是右侧不同-----用到继承原理 -------- url # 文章详 ...
- easyUi弹出window窗口传值与调用父页面的方法,子页面给父页面赋值
<!-- 父页面 --> <!DOCTYPE html PUBLIC "-/W3C/DTD HTML 4.01 Transitional/EN" "ht ...
- 基于官方镜像MySQL做自定义业务扩充镜像
转自:https://www.cnblogs.com/jsonhc/p/7809571.html 首先从https://hub.docker.com/_/mysql/拉取官方镜像,如果速度缓慢,建议添 ...