JavaSE---位运算符
1、Java支持的位运算符有7个:
&:按位与 【2个相同取相同、2个不同取0】
|:按位或 【2个相同取相同、2个不同取1】
~:按位非
^:按位异或 【2个相同取0、2个不同取1】
<<:左位移运算符 将二进制码整体左移指定位数,左移后空出来的位以0补充
>>:右位移运算符 将第一个操作数的二进制码向右移指定位数,左边空出的以0补充(如果原来的操作数为正数,左边以0补充;如果是负数,左边以1补充)
>>>:无符号右位移运算符 将第一个操作数的二进制码向右移指定位数,左边空的以0补充
2、

3、案例:
1.1 按位与:
5&9
0101 ---5
& 1001 ---9
0001 ---1
1.2 按位或:
5|9
0101 ---5
| 1001 ---9
1101 ---13
4、二进制数(计算机采用二进制的补码进行计算)
1、最高位为符号位,0表示正、1表示负,其余位表示数值大小
2、原码、反码、补码
1.1 正数的原码、反码、补码 都一样;
1.2 负数的反码:
最高位不变、其余按位取反; eg: 原码为:10100000 反码为:11011111
负数的补码:
最高位不变、其余按位取反,再+1 eg: 第一步,原码为:10100000;第二步,最高位不变取反:11011111;第三步,加一得补码:11100000
JavaSE---位运算符的更多相关文章
- [javaSE] 位运算符(&|^)
位运算是直接对二进制进行计算 左移 << 右移 >> 先把整数换成四个8bit 0000-0000 0000-0000 0000-0000 0000-0000 这个二进制左右移 ...
- Java 基础入门随笔(3) JavaSE版——逻辑运算符、位运算符
上一节写了一些运算符的注意事项,这节开头依然是对运算符的一些注意点的阐述! 比较运算符除了>.>=.<.<=.==.!=之外需要注意instanceof:检查是否是类的对象,例 ...
- JavaSE| 数据类型| 运算符| 进制与补码反码等
JavaSE JavaSE是学习JavaWeb.JavaEE以及Android开发的基础 边听边思考边做“笔记” 不要完全依赖书和视频: 捷径:敲.狂敲: 规范:加注释: 难点,不懂的记录下时间再回头 ...
- java的布尔运算符和位运算符
1.布尔运算符 && 逻辑与: || 逻辑或: != 不等于: 三元操作符:?: :表达式为 condition?expression1:expression2(当条件为真时 ...
- c 语言的位运算符复习
转载和修正,原文连接:http://www.cnblogs.com/911/archive/2008/05/20/1203477.html 位运算是指按二进制进行的运算.在系统软件中,常常需要处理二进 ...
- Java的算数运算符、关系运算符、逻辑运算符、位运算符
JAVA的运算符,分为四类: 算数运算符.关系运算符.逻辑运算符.位运算符 算数运算符(9):+ - * / % ++ -- 关系运算符(6):== != > >= & ...
- c语言基础表达式, 关系运算符, 逻辑运算符, 位运算符, 数据的取值范围, 分支结构(if...else, switch...case)
1.表达式: 表达式的判断是有无结果(值), 最简单的表达式是一个常量或变量, 如:12, a, 3 + 1, a + b, a + 5 都是表达式 2.BOOL(布尔)数据类型: c语言中除了基本数 ...
- PHP中的运算符---位运算符、递增递减运算符、三元运算符、字符串运算符、数组运算符、类型运算符、错误控制运算符
1.位运算符 位运算符用来对整型数的指定位进行置位,如果被操作数是字符串,则对该字符串的ASCII码值进行操作. 运算类型 运算符 举例 结果 按位与 & $a & $b 将$a 与 ...
- ECMAScript 位运算符
位运算符是在数字底层(即表示数字的 32 个数位)进行操作的. 重温整数 ECMAScript 整数有两种类型,即有符号整数(允许用正数和负数)和无符号整数(只允许用正数).在 ECMAScript ...
- javascript运算符——位运算符
× 目录 [1]二进制 [2]非 [3]与[4]或[5]异或[6]左移[7]右移[8]>>>[9]应用 前面的话 位运算符是非常底层的运算,由于其很不直观,所以并不常用.但是,其速度 ...
随机推荐
- Luogu U15118 萨塔尼亚的期末考试(fail)
感觉...昨天是真的傻... 题意 T个询问,每个询问给一个n,求 $ \frac{\sum_{n}^{i = 1}Fib_{i} * i}{n * (n + 1) / 2} $ Fib是斐波那契数列 ...
- 前端学习01-06URL
URL(Uniform Resource Locator) 统一资源定位 URL的基本组成:协议,主机名,端口号,资源名 例如: http://www.sina.com:80/index.html 相 ...
- JDBC方式从数据库中查询数据并显示
1.创建数据库表myuser DROP TABLE IF EXISTS `myuser`; CREATE TABLE `myuser` ( `) NOT NULL COMMENT '姓名', `id` ...
- serializeArray()和.serialize()的区别、联系
serializeArray()和.serialize()的区别.联系 <form id='addForm' action='UserAdd.action' type='post'> ...
- C++面试笔记--单链表
1.编程实现单链表删除节点. 解析:如果删除的是头节点,如下图: 则把head指针指向头节点的下一个节点.同时free p1,如下图所示: 如果删除的是中间节点,如下图所示: 则用p2的n ...
- Linux下管理员强行踢出用户的命令使用方法
Linux强制踢出用户命令: 一.输入w命令查看已登录用户信息 [root@KW_S01_192.168.1.106_A ~]# w 19:22:31 up 2:11, 3 users, loa ...
- ListView 动态生成 Header
//取得结果集 DataTable dt = ub.GetUser().Tables[0]; //清空原本的内容 listView1.Items.Clear(); //通过DataTable 得到当前 ...
- UI控件相关宏定义
1.显示设置 1.1 view圆角和边框 /** 设置view圆角和边框 */ #define kViewBorderRadius(View, Radius, Width, Color)\ \ [Vi ...
- 167. Two Sum II - Input array is sorted两数之和
1. 原始题目 给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数. 函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于 index2. 说明 ...
- VisualStudio.Net应用程序制作图标
前段时间用到了VS自带打包工具,对程序进行打包,但是由于打包完成后,安装后的软件图标甚是难看于是想把图标也给打包进去.于是找到了两个解决方式. 第一种也是最简单的: 在VS中按照下面方式进行即可: 第 ...