Java 位运算符和移位运算符
一,运算的位运算符: & ~ | ^
主要是对二进制的位计算 :
& : 两个操作数中位都为1 结果才为1 其他结果为0
forExample: 128& 129
128转为二进制: 10000000
129转为二进制: 10000001
结果为: 1000000 为129
| : 两个位只要有一个为1,那么结果就是1,否则就为0
forExample: 还是 128 129的二进制 因为129的位上是1 所以结果129
51: 110011
129: 10000001
结果为: 100110011 为179
~: 如果位为0,结果是1,如果位为1,结果是0
forExample: 2 为 0010 位上是0 非就是 0010 为3 因为2是正数,非为 -3
^ : 两个操作数的位中,相同则结果为0,不同则结果为1。
计算二进制的方法:
51: 1 10011
129: 10000001
结果为: 10110010 结果为178
转二进制的话:比如100 那么 用
100/2 50 0
50/2 25 0
25/2 12 1
12/2 6 0
6/2 3 0
3/2 1 1
1/2 1 1 则值为 1100100B(从下往上读)二进制后加上B 十进制加D
二,移位运算符
160>>> 3
160的二进制为: 10100000 向右移动3位为: 10100 4位 1010 5位 101 6位:10 7为 1 二进制最低为4位 不够在高位补0 也就是左边补0
x<<y 相当于 x*2y ;x>>y相当于x/2y
// 二进制
http://www.zybang.com/question/833a3488a881c0898b871872458ef4f6.html
// 运算符介绍
http://blog.csdn.net/vebasan/article/details/6193916
Java 位运算符和移位运算符的更多相关文章
- (一)《Java编程思想》学习——按位运算符、移位运算符
(第三章) (一)按位运算符 按位逻辑运算符有: “与”(AND) & 1&1=1;1&0=0;0&0=0 “或”(OR) | 1|1=1;1|0=1;0 ...
- Java位运算(移位,位与,或,异或,非)
1.左移( << ) // 0000 0000 0000 0000 0000 0000 0000 0101 然后左移2位后,低位补0:// // 0000 0000 0000 0000 0 ...
- Java中的位运算符、移位运算
一.位运算 Java中有4个位运算,它们的运算规则如下: (1)按位与 (&) :两位全为1,结果为1,否则为0: (2)按位或 (|) :两位有一个为1,结果为1,否则为0: (3) ...
- java中,有关移位运算符的有关讨论
java中有三种移位运算符 << : 左移运算符,num << 1,相当于num乘以2 >> : 右移运算符,num >& ...
- JAVA:二进制(原码 反码 补码),位运算,移位运算,约瑟夫问题(5)
一.二进制,位运算,移位运算 1.二进制 对于原码, 反码, 补码而言, 需要注意以下几点: (1).Java中没有无符号数, 换言之, Java中的数都是有符号的; (2).二进制的最高位是符号位, ...
- Java学习第五篇:二进制(原码 反码 补码),位运算,移位运算,约瑟夫问题
一.二进制,位运算,移位运算 1.二进制 对于原码, 反码, 补码而言, 需要注意以下几点: (1).Java中没有无符号数, 换言之, Java中的数都是有符号的; (2).二进制的最高位是符号位, ...
- java中的位运算及移位运算
为了方便对二进制位进行操作,Java给我们提供了以下四个二进制位操作符: & 按位与 | 按位或 ^ 按位异或 ~ 按位取反 Java中有三个移位运算符: 左移:&l ...
- C++移位运算符
关于逻辑移位.算术移位可参见迅雷深大笔试题部分.的一道题. 以前看到C++标准上说,移位运算符(<<.>>)出界时的行为并不确定: The behavior is undefi ...
- Java 逻辑运算符、位运算符、移位操作符 总结(Java 学习中的小记录)
Java 逻辑运算符.位运算符.移位操作符 总结 作者:王可利(Star·星星) 逻辑运算符,表格如下: 解析逻辑运算符表: 1.与 (&) 特点:两个都为真的时候,结果为真.两个为 ...
随机推荐
- HBase(三)——搭建Fully-distributed
HBase搭建--Fully-distributed 1.搭建方式说明 By default, HBase runs in standalone mode. Both standalone mode ...
- Python format格式化时使用‘’{‘’或者‘’}‘’
用format格式化时,如果其中要用到‘’{‘’或者‘’}‘’,需要进行转义,否则报错 {{ ,}}使用同样的符号实现转义,而不是‘/’
- 10年前文章_解决parted 编译出错问题
找到 include/site/i386-linux 文件,修改定义ac_cv_sizeof_off_t 的长度,从原来的4改为8 ac_cv_sizeof_off_t=8 删除 build_dir/ ...
- Node Buffer 利用 slice + indexOf 生成 split 方法
demo let buf = Buffer.from('你你我们我你们'); Buffer.prototype.split = function (seq) { let arr=[]; let len ...
- VCL界面控件DevExpress VCL Controls发布v18.2.7|附下载
DevExpress VCL Controls是 Devexpress公司旗下最老牌的用户界面套包.所包含的控件有:数据录入,图表,数据分析,导航,布局,网格,日程管理,样式,打印和工作流等,让您快速 ...
- js 获取滚动位置,滚动到指定位置,平滑滚动
1.获取当前滚动条位置信息 var top = dom.scrollTop; // 获取y轴上的滚动位置 var left = dom.scrollLeft; // 获取x轴上的滚动位置 2.滚动到指 ...
- 解决json不能解析换行问题
今天遇到一个问题,当我读取数据库中某条带换行的数据时,解析错误. 解决方法是在存入数据库时对数据做处理,把换行换成其他字符.代码如下: remark = remark.replace(/\n/g,&q ...
- Java如何进行Base64的编码(Encode)与解码(Decode)
关于base64编码Encode和Decode编码的几种方式 Base64是一种能将任意Binary资料用64种字元组合成字串的方法,而这个Binary资料和字串资料彼此之间是可以互相转换的,十分方便 ...
- idea生成get/set方法
如图:
- spring util包 StringUtils工具类中的isEmpty() 方法解析
今天在公司看到同事写的代码,无意发现在判断字符串类型时,使用的是StringUtils工具类中的isEmpty()去判断如下所示 @RequestMapping(value = "/pub/ ...