java位运算符取反_Java运算符之位运算符
位运算符
尹成课程资料及演示(免费)(文末有资料链接)
位运算符是针对二进制数的每一位进行运算的符号,它是专门针对数字0和1进行操作的。接下来通过一张表来展示Java中的位运算符及其用法,如表1所示。
表1 位运算符
从表1可以看出,Java中的位运算符本质都是针对二进制数0和1进行运算的,所以,在使用位运算符时,都会先将操作数转换成二进制数的形式进行位运算,然后将得到的结果再转换成想要的进制数。
接下来通过一些具体示例对表2-10中描述的位运算符进行详细讲解。为了方面描述,下面的运算都是针对一个byte类型的数,也就是一个字节大小的数的运算,具体如下:
1.位运算符“&”是将参与运算的两个操作数以二进制数的形式进行“按位与”运算,如果相同位上的两个二进制位都为1,则该位的运算结果为1,否则为0。
例如将6和 11进行按位与运算,一个byte类型的数字6对应的二进制数为00000110,数字11对应的二进制数为00001011,具体演算过程如下所示:
00000110
&
00001011
—————————
00000010
运算结果为00000010,对应十进制数值2。
2.位运算符“|”是将参与运算的两个操作数以二进制数的形式进行“按位或”运算,如果相同位上的两个二进制位有一个值为1,则该位的运行结果为1,否则为0。
例如将6与11进行或运算,具体演算过程如下:
00000110
|
00001011
—————————
00001111
运算结果为00001111,对应十进制数值15。
3.位运算符“~”只针对一个操作数进行操作,它会对二进制形式的操作数每位进行取反操作。如果二进制位是0,则取反值为1;如果是1,则取反值为0。
例如将6进行取反运算,具体演算过程如下:
~ 00000110
—————————
11111001
运算结果为11111001,对应十进制数值-7。
4.位运算符“^”是将参与运算的两个操作数以二进制数的形式进行“异或”运算,如果相同位上的两个二进制数值相同,则值为0,否则为1。
例如将6与11进行异或运算,具体演算过程如下:
00000110
^
00001011
—————————
00001101
运算结果为00001101,对应十进制数值13。
5.位运算符“
例如一个byte类型的数字11用二进制表示为00001011,将它左移一位,具体演算过程如下:
00001011
—————————
00010110
运算结果为00010110,对应十进制数值22。
6.位运算符“>>“就是将操作数二进制形式的所有进制位向右移动指定位数。运算时,左边的空位根据原数的符号位补0或者1(原来是负数就全部补1,是正数就全部补0),右边移走的部分舍去。
例如一个byte类型的数字11用二进制表示为00001011,将它右移一位,具体演算过程如下。
00001011 >>1
—————————
00000101
运算结果为00000101,对应十进制数值5。
7.位运算符“>>>”属于无符号右移,就是将操作数二进制形式的所有二进制位不考虑正负数向右移动指定位数。运算时,左边的空位全部补0(不考虑原数正负),右边移走的部分舍去。
例如一个byte类型的数字11用二进制表示为00001011,将它无符号右移一位,具体演算过程如下:
00001011 >>>1
—————————
00000101
运算结果为00000101,对应十进制数值5。
java位运算符取反_Java运算符之位运算符相关推荐
- java位运算符取反_java运算符
Java 语言支持如下运算符: 算术运算符: +,-,*,/,%,++,-- 赋值运算符 = 关系运算符: >,<,>=,<=,==,!=, instanceof 逻辑运算符: ...
- 位运算符取反_Java常见的运算符——位运算
位运算符 <<左移 先说左移运算符,它的符号表示是<< 举个例子,先定义一个int类型的数,十进制的value = 733183670,转换成二进制在计算机中的表示如下(int ...
- 位运算符——取反运算符~的理解
学习位运算符中的取反运算符-- ~ 时,要搞清楚以下几点: 正数的补码是其原码,原码就是其二进制数表示 负数的补码为符号位不变,原码取反再加一 二进制数有八位数,第一位就是符号位 符号位中,0代表正数 ...
- java数字取反_java中源码反码补码与取反的理解
数字在计算机里是按照二进制来表示的. 箭头朝哪边就是朝哪边移动 补码,反码,和源码 负数原码转化为补码:符号位不变,数值位按位取反,末尾加一. 负数补码转化为原码:符号位不变,数值位按位取反,末尾加1 ...
- java图片颜色取反色,照片底片模式
全栈工程师开发手册 (作者:栾鹏) java教程全解 java图片颜色取反色,照片底片模式 测试代码 public static void main(String[] args) {//文件与Buff ...
- java中平方的表达式_JAVA语言中的运算符和表达式
JAVA--运算符 按运算符要求的运算符个数可分为一元.二元.三元运算符: 一元运算符有一个操作数:如正数或者负数前面的"+"."-",和自增"++& ...
- JAVA中常用的逻辑运算符_Java中的常见运算符以及使用
Java中的运算符有算术运算符.关系运算符.逻辑运算符.赋值运算符.字符串连接运算符.三目运算符等.下面介绍一下这几种. 1.算术运算符 包括:加(+).减(-).乘(*).除(/).取余(%).自加 ...
- java字符串取反_Java探索之string字符串的应用代码示例
String类中提供了丰富的用于操作字符串的方法. int indexOf(String str) 该方法用于返回当给定字符串在当前字符串中的位置,若当前字符串不包含给定字符串则返回-1. 重载的方法 ...
- R中 %in% 运算符取反
原先: x %in% y 取反: !(x %in% y) 注意非符号"!"位于整个语句之前,而非%in%之前.
最新文章
- 设计模式-策略模式,观察者模式,装饰者模式,静态工厂模式,工厂方法模式
- 动力节点老杜mysql文件_mysql主从复制+mysql主从复制延迟解决方案
- Proof-of-Stake (POS) outperforms Bitcoin’s Proof-of-Work (POW)
- Linux使用lvresize扩展或缩减LV逻辑卷大小
- 想聊天?自己搭建个聊天机器人吧!
- python 管理windows客户端_在远程windows客户端上执行python脚本
- 深入分布式缓存之EVCache探秘开局篇(文末赠书)
- linux下的shell多线程用法,shell多线程操作
- 用SegNet进行室内布局语义分割
- Python3 OpenCV
- 微信小程序引入echarts图表
- 业务流程图是什么?怎么画?
- 从三点共线到四点共面
- 用SQL语句向数据库添加date类型字段
- SSR存在时无法打开Microsoft Store等UWP应用
- java自行车怎么调档_这也许是史上最详细的自行车变速调节攻略了!
- 社群运营:美容店怎么做社群引流?分享5个到店提高转化率的方法!
- Android 对Canvas的translate方法总结
- 从产品经理人的角度规划项目:排课系统
- linux服务器,卸载tensorflow CPU 安装PGU版