当前位置: 首页 > news >正文

饰品网站模版网络推广平台软件

饰品网站模版,网络推广平台软件,网站图标代码,网站都到哪里做推广位运算直接操作二进制位,在处理底层数据、加密算法、图像处理等领域具有高效性能和效率。本文将深入探讨Java中的位运算。 本文目录 一、位运算简介1. 与运算2. 或运算异或运算取反运算左移运算右移运算无符号右移运算 二、位运算的实际应用1. 权限管理2. 交换两个变…

        位运算直接操作二进制位,在处理底层数据、加密算法、图像处理等领域具有高效性能和效率。本文将深入探讨Java中的位运算。

本文目录

    • 一、位运算简介
      • 1. 与运算
      • 2. 或运算
      • 异或运算
      • 取反运算
      • 左移运算
      • 右移运算
      • 无符号右移运算
    • 二、位运算的实际应用
      • 1. 权限管理
      • 2. 交换两个变量的值

一、位运算简介

在Java中,位运算主要有以下几种:与(&)、或(|)、异或(^)、取反(~)、左移(<<)、右移(>>)和无符号右移(>>>)。

1. 与运算

与运算的规则是:只有当两个对应位都为 1 时,结果位才为 1,否则为 0。

public class BitwiseAnd {public static void main(String[] args) {int a = 5; // 0101int b = 3; // 0011int result = a & b; // 0001System.out.println("5 & 3 = " + result);}
}

2. 或运算

或运算的规则是:只要两个对应位中有一个为 1,结果位就为 1,只有当两个位都为 0 时,结果位才为 0。

public class BitwiseOr {public static void main(String[] args) {int a = 5; //  0101int b = 3; //  0011int result = a | b; //  0111System.out.println("5 | 3 = " + result);}
}

异或运算

异或运算的规则是:当两个对应位不同时,结果位为 1,相同时结果位为 0。

public class BitwiseXor {public static void main(String[] args) {int a = 5; // 0101int b = 3; // 0011int result = a ^ b; //  0110System.out.println("5 ^ 3 = " + result);}
}

取反运算

取反运算会将每一位取反,即 0 变为 1,1 变为 0。

public class BitwiseNot {public static void main(String[] args) {int a = 5; //  0101int result = ~a; //  1010System.out.println("~5 = " + result);}
}

取反运算得到的结果是补码表示

左移运算

左移运算会将二进制位向左移动指定的位数,右边空出的位用 0 填充。

public class LeftShift {public static void main(String[] args) {int a = 5; //  0101int result = a << 2; //  010100System.out.println("5 << 2 = " + result);}
}

右移运算

右移运算会将二进制位向右移动指定的位数,左边空出的位用符号位填充(正数用 0 填充,负数用 1 填充)。

public class RightShift {public static void main(String[] args) {int a = 5; //  0101int result = a >> 1; //  0010System.out.println("5 >> 1 = " + result);}
}

无符号右移运算

无符号右移运算会将二进制位向右移动指定的位数,左边空出的位用 0 填充,不考虑符号位。

public class UnsignedRightShift {public static void main(String[] args) {int a = -5; //  11111111111111111111111111111011int result = a >>> 1; //  01111111111111111111111111111101System.out.println("-5 >>> 1 = " + result);}
}



二、位运算的实际应用

1. 权限管理

位运算可以用于权限管理,通过不同的位来表示不同的权限。

public class PermissionManager {public static final int READ_PERMISSION = 1; // 0001public static final int WRITE_PERMISSION = 2; // 0010public static final int EXECUTE_PERMISSION = 4; // 0100private int permissions;public PermissionManager() {this.permissions = 0;}// 添加权限public void addPermission(int permission) {permissions = permissions | permission;}// 检查权限public boolean hasPermission(int permission) {return (permissions & permission) == permission;}public static void main(String[] args) {PermissionManager manager = new PermissionManager();manager.addPermission(READ_PERMISSION);manager.addPermission(WRITE_PERMISSION);System.out.println( manager.hasPermission(READ_PERMISSION));System.out.println(manager.hasPermission(EXECUTE_PERMISSION));}
}

2. 交换两个变量的值

不使用临时变量,通过异或运算可以交换两个变量的值:

public class SwapVariables {public static void main(String[] args) {int a = 5;int b = 3;System.out.println(" a = " + a + ", b = " + b);a = a ^ b;b = a ^ b;a = a ^ b;System.out.println(" a = " + a + ", b = " + b);}
}



← 上一篇 Java进阶——常用类及常用方法详解
记得点赞、关注、收藏哦!
下一篇 Java进阶——数组超详细整理 →
http://www.dtcms.com/a/565814.html

相关文章:

  • 公司网站制作定制株洲建设企业网站
  • java基础-金额转换
  • 吉林中岩峰建设有限公司网站建设网站的市场环境
  • 怎么在百度做公司网站wordpress后台logo
  • springboot中的事务
  • 短网址生成api接口苏州百度 seo
  • python中的多线程【threading】
  • 做电影小视频在线观看网站谷歌找网站后台
  • 开发常用软件清单
  • 网站设计外文文献免费网站正能量不用下载
  • 结合HOG特征与支持向量机(SVM)的车牌字符识别系统
  • 长沙高端网站制作公司丹灶建网站
  • Nacos配置安全治理:把数据库密码从YAML里请出去
  • RSA 算法数学原理
  • 网站建设应注意哪些事项wordpress 收费 视频
  • 外贸找客户有什么网站平台公司会倒闭吗
  • P5091 【模板】扩展欧拉定理
  • C盘爆满急救指南
  • 天台高端网站建设公司专业网站设计公司价格
  • 温州专业微网站制作公司天猫网页版
  • 免费网络推广网站王烨重生
  • 微气象仪:精准感知微环境气象变化
  • svn使用之创建分支进行开发
  • 拍卖网站建设公司社交类电商平台
  • Elasticsearch 8 安装与配置
  • 邯郸做网站推广找谁盛大游戏优化大师
  • HR1124S/HR1154D:赋能直流电机高效安全运行的核心芯片
  • 化妆品网站网页设计营销培训师
  • 网站积分解决方案标书制作模板
  • 前端直接渲染Markdown