Java位运算
2021/7/11 9:05:58
本文主要是介绍Java位运算,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
位运算符
位运算符除了按位与和按位或运算以外,其他的只能用于处理整数的操作数。位运算是完全正对位方面的操作。整型数据在内存中以二进制的形式表示,如int型变量7的二进制表示00000000 00000000 00000000 00000111。
左边最高位是符号位,最高位是0表示整数,若为1则表示负数。负数采用补码表示,如-8的二进制表示为11111111 11111111 11111111 11111000。这样就可以对整型数据进行按位运算。
1、“按位与”运算
“按位与”运算符为“&”,为双目运算符。“按位与”运算的运算法则是:如果两个整型数据a、b对应为都是1,则结果为才是1,否则为0。如果两个操作数的精度不同,则结果得的精度与精度高的操作数相同,如下图所示:
Java位运算符使用方法和技巧
2、“按位或”运算
“按位或”运算的运算符为“|”,为双目运算符。“按位或”运算的运算法则是:如果两个操作数对应高位都是0,则结果为才是0,否则为1。如果两个操作数的精度不同,则结果的精度与精度高的操作数相同,如下图所示:
Java位运算符使用方法和技巧
3、“按位取反”运算
“按位取反”运算也称为“按位非”运算,运算符为“~”,为弹幕运算符。“按位取反”就是将操作数二进制中的1修改为0,0修改为1,如下图所示:
Java位运算符使用方法和技巧
4、“按位异或”运算
“按位异或”运算的运算符是“^”,为双目运算符。“按位异或”运算的运算法则是:当两个操作数的二进制表示相同(同时为0或同事为1)时,结果为0,否则为1。若两个操作数的进度不同,则结果数的精度与精度高的操作数相同,如下图所示:
Java位运算符使用方法和技巧
5、移位操作
除了上述的运算以外,还可以对数据按二进制为进行移位操作。Java中的移位运算符有以下3中:
1.<<左移
2.>>;右移
3.>>>;无符号右移
左移就将左边的操作数在内存中的二进制数据左移变比阿耨操作数指定的位数,左边移空的部分补0。右移则复杂一些,当使用“>>”符号时,如果最高位是0,左移空的位就填入0;如果最高位是1,右移空的位就填入1。
Java还提供了无符号右移,“>>>”,无论最高位是0还是1,左侧移空的最高位都填入0.
注意:
位移运算符使用的数据类型有byte、short、char、int和long。
技巧:
移位可以实现整数整除移或者乘以2的n次方的效果。例如:y>1的结果与y/2的结果相同。总之,一个数左移n位,就是将这个数乘以2的n次方;一个数右移n位,就是将这个数除以2的n次方。2与y*4的结果相同;y>
这篇关于Java位运算的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-02Java管理系统项目实战入门教程
- 2024-11-02Java监控系统项目实战教程
- 2024-11-02Java就业项目项目实战:从入门到初级工程师的必备技能
- 2024-11-02Java全端项目实战入门教程
- 2024-11-02Java全栈项目实战:从入门到初级应用
- 2024-11-02Java日志系统项目实战:初学者完全指南
- 2024-11-02Java微服务系统项目实战入门教程
- 2024-11-02Java微服务项目实战:新手入门指南
- 2024-11-02Java项目实战:新手入门教程
- 2024-11-02Java小程序项目实战:从入门到简单应用