Java_按位与&,按位或,取反,左移,右移运算符
//按位与运算&
System.out.println(0&0);//0
System.out.println(0&1);//0
System.out.println(1&1);//1
System.out.println("===========");
//按位或运算符|
System.out.println(0|0);//0
System.out.println(0|1);//1
System.out.println(1|1);//1
System.out.println("===========");
//异或运算符^
System.out.println(0^0);//0
System.out.println(0^1);//1
System.out.println(1^1);//0
System.out.println("===========");
//取反运算符~
//部分要点:
//什么是取反:取反就是0=>1 1=>0
//什么是补码:正数的补码是其反码,负数的补码为其反码+1,例5的二进制为0 0101,而0 0101的补码是1 1010,-5的二进制是1 0101,而1 0101的补码是1 1011
//什么是原码:规定正数的补码与原码相同,负数的原码是其反码+1
//---------------------------------------------------------
//6为正数,二进制为 0 0110 (第一个0代表正负)
//然后计算补码,即1 1001
//求原码,对后4位进行按位取反,即 1 0110
//然后对二进制进行补码+1操作,即 1 0111
//1010转成十进制为7,加上前面的负号,得-7
//如6为正数,其二进制为110,取反后为001,补码右边+1为1010,原来6为正,取反为负,得-2
//----------------------------------------------------------
System.out.println(~6);//-7
System.out.println(~42);//-43
System.out.println("===========");
//左移运算符<<(即向左移动,右边补0)
//如2的二进制为10,若2<<2,则1000,也就是十进制8,同理若2<<3,则10000,也就是十进制16,根据规律可以看出n<<m=n*(2^m)
System.out.println(15<<2);//60: 15*(2^2)
//右移有符号运算符>>(即向右移动,但左边补0还是1需要看原来的数是正的还是负的)
System.out.println(2>>2); //0(右边移除的数将被丢弃)
System.out.println(-8>>3); //-1
Java_按位与&,按位或,取反,左移,右移运算符的更多相关文章
- java左移右移运算符
http://blog.csdn.net/dandanteng/article/details/7433531 首先要明白一点,这里面所有的操作都是针对存储在计算机中中二进制的操作,那么就要知道,正数 ...
- 位运算 - 左移右移运算符 >>, <<, >>>
1-左移运算符m<<n,表示把m左移n位.左移n位的时候,最左边的n位数将被丢弃,同时在最右边补上n个0.例如: 00001010<<2 = 00101000 10001010 ...
- 【C#】关于左移/右移运算符的使用
吐槽先~为什么我的老师大学时候没教过我这东西 - -. 继续送栗子: 比如 “(1+2)<<3” 你们猜等于几~ Debug.Log((1+2)<<3)之后输出的是“24”. ...
- java左移右移运算符详解
在阅读源码的过程中,经常会看到这些符号<< ,>>,>>>,这些符号在Java中叫移位运算符,在写代码的过程中,虽然我们基本上不会去写这些符号,但需要明白这些 ...
- 位运算------按位与、按位或、按位异或、取反、<<、>>、>>>
程序中的所有数在计算机内存中都是以二进制的形式储存的,位运算就是直接对整数在内存中的二进制位进行操作. 知识点: 1.原码.反码.补码(以byte的1.-1举例) 示例 ...
- 按位与(&),或(|),异或(^),取反(~),左移(<<),右移(>>)
C语言提供的位运算符列表:运算符 含义 描述& 按位与 如果两个相应的二进制位都为1,则该位的结果值为1,否则为0| 按位或 两个相应的二进制位中只要有一个为1,该位的结果值为1^ 按位异或 ...
- 【转】C语言位运算符:与、或、异或、取反、左移与右移详细介绍
转载自:http://www.jb51.net/article/40559.htm,感谢原作者. 以下是对C语言中的位运算符:与.或.异或.取反.左移与右移进行了详细的分析介绍,需要的朋友可以过来参考 ...
- C语言位运算符及作用:与、或、异或、取反、左移和右移
一.& 按位与 如果两个相应的二进制位都为1,则该位的结果值为1,否则为0应用:(1)清零 若想对一个存储单元清零,即使其全部二进制位为0,只要找一个二进制数,其中各个位符合一下条件:原来的数 ...
- C语言位运算符:与、或、异或、取反,左移和右移
C语言位运算符:与.或.异或.取反.左移和右移 个位操作运算符.这些运算符只能用于整型操作数,即只能用于带符号或无符号的char,short,int与long类型. ,则该位的结果值为1,否则为0 | ...
随机推荐
- Recent papers on Action Recognition | 行为识别最新论文
CVPR2019 1.An Attention Enhanced Graph Convolutional LSTM Network for Skeleton-Based Action Recognit ...
- js获取当前日期,并计算几天后日期
获取当前的日期时间 格式“yyyy-MM-dd HH:MM:SS” function getNowFormatDate() { var date = new Date(); var seperator ...
- OpenGL笔记(二) 渲染管线
GLSL着色器代码分为两个部分,即Vertex Shader(顶点着色器)与Fragment Shader(片元着色器). 上下文环境搭建 OGL不负责窗口管理与上下文环境管理,该职责由平台完成.在A ...
- EXCEL2007出错了无法使用文档中的ActiveX 控件
EXCEL2007出错了无法使用文档中的ActiveX 控件虽说是很久之前的问题,但是正确的解决方法和原因如下!原因:系统update之后出现的问题解决方法:删除C:\Users\[username] ...
- linux下通过软连接实现访问项目路径外面的资源
在javaweb项目开发中,图片上传是个比较常见的场景.一般都是在项目路径下建个文件夹,然后上传到该文件夹下:这样这个图片就可以和静态资源一样被直接访问.这样的好处就是访问这图片特别方 ...
- Js读取XML文件为List结构
习惯了C#的List集合,对于Javascript没有list 极为不舒服,在一个利用Js读取XML文件的Demo中,决定自己构建List对象,将数据存入List. 第一步,Js读取XML文件知识 X ...
- java 锁白话
一.锁 1.可见性: 定义:数据对所有线程可见 原因:cpu操作数据时会把数据读取到内存中去,可以理解为值做了备份,但是备份数据和原始数据在后续操作中不一定一致 实现:java使用volite关键字来 ...
- Luogu P1120 小木棍 [数据加强版]
看了题目心中只有一个字——搜索!!! 但是很显然,朴素的搜索(回溯)绝壁超时. 剪枝&优化(要搞很多,要不然过不了) 1:从小到大搜索它们的因数,这样找到就exit. 2:将数据从大到小排序, ...
- Ubuntu+Qt+OpenCV+FFMPEG环境搭建
基于ubuntu16.04下opencv3.2安装配置 Ubuntu16.04下安装FFmpeg(超简单版) Qt编译后提示: /usr/bin/ld: 找不到 -lGL 安装libGL: sudo ...
- pandas:根据行间差值进行数据合并
1. 问题描述 在处理用户上网数据时,用户的上网行为数据之间存在时间间隔,按照实际情况,若时间间隔小于阈值(next_access_time_app),则可把这几条上网行为合并为一条行为数据:若时间间 ...