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

茂港网站开发公司长沙百度seo优化电话

茂港网站开发公司,长沙百度seo优化电话,html基础知识思维导图,钢筋网片理论重量表规格表1. Java 支持的位运算符 Java 提供了 7 种位运算符: 运算符名称描述示例&按位与(AND)两个位都为 1 时,结果才为 15 & 3 → 1|按位或(OR)两个位有一个为 1 时,结果就为 15 | 3 → 7^按…

1. Java 支持的位运算符

Java 提供了 7 种位运算符:

运算符名称描述示例
&按位与(AND)两个位都为 1 时,结果才为 15 & 3 → 1
|按位或(OR)两个位有一个为 1 时,结果就为 15 | 3 → 7
^按位异或(XOR)两个位不同时,结果为 15 ^ 3 → 6
~按位取反(NOT)所有位取反(0→1,1→0)~5 → -6
<<左移(Left Shift)所有位向左移动,低位补 05 << 1 → 10
>>右移(Right Shift)所有位向右移动,高位补符号位-5 >> 1 → -3
>>>无符号右移(Unsigned Right Shift)所有位向右移动,高位补 0-5 >>> 1 → 2147483645

2. 位运算详解

(1) 按位与(&

  • 规则:两个位都为 1 时,结果才为 1,否则为 0。

  • 示例

    int a = 5;    // 二进制:0101
    int b = 3;    // 二进制:0011
    int c = a & b; // 二进制:0001 → 1
    System.out.println(c); // 输出:1
  • 应用

    • 判断奇偶:(n & 1) == 0 → 偶数。


(2) 按位或(|

  • 规则:两个位有一个为 1 时,结果就为 1。

  • 示例

    int a = 5;    // 0101
    int b = 3;    // 0011
    int c = a | b; // 0111 → 7
    System.out.println(c); // 输出:7
  • 应用

    • 合并多个标志位(如 READ | WRITE | EXECUTE)。


(3) 按位异或(^

  • 规则:两个位不同时,结果为 1,否则为 0。

  • 示例

    int a = 5;    // 0101
    int b = 3;    // 0011
    int c = a ^ b; // 0110 → 6
    System.out.println(c); // 输出:6
  • 特性

    • a ^ a = 0(相同数异或为 0)。

    • a ^ 0 = a(任何数与 0 异或不变)。

  • 应用

    • 交换两个数(不使用临时变量):

      int x = 5, y = 3;
      x = x ^ y;
      y = x ^ y; // y = (x ^ y) ^ y = x
      x = x ^ y; // x = (x ^ y) ^ x = y
      System.out.println(x + ", " + y); // 输出:3, 5


(4) 按位取反(~

  • 规则:所有位取反(0→1,1→0)。

  • 示例

    int a = 5;    // 0000 0101
    int b = ~a;   // 1111 1010(补码表示)
    System.out.println(b); // 输出:-6
  • 注意

    • Java 使用补码表示负数,~5 实际上是 -6


(5) 左移(<<

  • 规则:所有位向左移动,低位补 0。

  • 示例

    int a = 5;    // 0000 0101
    int b = a << 1; // 0000 1010 → 10
    System.out.println(b); // 输出:10
  • 应用

    • 快速计算 a * 2^n(如 a << 3 = a * 8)。


(6) 右移(>>

  • 规则:所有位向右移动,高位补符号位(正数补 0,负数补 1)。

  • 示例

    int a = 5;    // 0000 0101
    int b = a >> 1; // 0000 0010 → 2
    int c = -5 >> 1; // 1111 1101 → -3
    System.out.println(b + ", " + c); // 输出:2, -3
  • 应用

    • 快速计算 a / 2^n(如 a >> 2 = a / 4)。


(7) 无符号右移(>>>

  • 规则:所有位向右移动,高位补 0(不考虑符号位)。

  • 示例

    int a = -5;    // 1111 1111 1111 1111 1111 1111 1111 1011
    int b = a >>> 1; // 0111 1111 1111 1111 1111 1111 1111 1101 → 2147483645
    System.out.println(b); // 输出:2147483645
  • 应用

    • 处理无符号整数(Java 没有无符号类型,但可以用 >>> 模拟)。


3. 位运算的常见用途

(1) 判断奇偶

if ((n & 1) == 0) {System.out.println("偶数");
} else {System.out.println("奇数");
}

(2) 交换两个数

int x = 5, y = 3;
x = x ^ y;
y = x ^ y;
x = x ^ y;
System.out.println(x + ", " + y); // 输出:3, 5

(3) 计算绝对值

int a = -5;
int abs = (a ^ (a >> 31)) - (a >> 31);
System.out.println(abs); // 输出:5

(4) 判断是否为 2 的幂

boolean isPowerOfTwo = (n & (n - 1)) == 0;
System.out.println(isPowerOfTwo); // 8 → true, 7 → false

(5) 快速计算 2^n

int power = 1 << n; // 2^n
System.out.println(power); // n=3 → 8

4. 总结

运算符用途示例
&判断奇偶、权限控制(n & 1) == 0
|合并标志位READ | WRITE
^交换变量、加密a ^= b; b ^= a; a ^= b;
~取反~5 → -6
<<快速乘以 2^n5 << 2 → 20
>>快速除以 2^n-5 >> 1 → -3
>>>无符号右移-5 >>> 1 → 2147483645
http://www.dtcms.com/wzjs/781083.html

相关文章:

  • 数字域名有哪些网站好网站建设公司选择哪家好
  • 在线网站地图生成器网络竞价托管公司
  • 广州建设网站公司哪家好东莞网站推广衣裙
  • 商务网站页面设计技术阜宁网站设计
  • 网站建设期末答案建材做哪些网站好
  • 广州市城市建设网站广州17年seo优化技术电话
  • 建设部造价咨询企业网站建站公司属于什么类型
  • 泰州企业网站建设公司宁德seo优化
  • 腾讯云建站平台万网服务器网站建设
  • 宣传网站建设网站套餐方案
  • 泉州哪里建设网站asp网站设计要求
  • 格子铺网站建设方案如何做电商网站
  • 成都企业网站建设公司电话网站更换服务器
  • 汕头企业做网站三亚做网站
  • 如何制作旅游网站建材网站建设公司
  • 二级域名网站可以做关键词优化吗加快政务网站建设
  • 个人网站制作的主要内容婚纱网站页面设计
  • 宁波网站设计哪家公司好2022最新的旅游资讯
  • 中文单页面网站模板免费下载目前做网站框架
  • 顺德网站建设公司信息网站开发要先买服务器吗
  • 门户网站建设工作情况汇报牡丹江网站推广
  • 吉林省建设工程质量监督站网站口碑好的邯郸网站建设
  • 淮南网官方网站谁做响应式网站
  • 房产网站排行榜上海百度搜索优化
  • 网络服务商机构郑州网站及优化
  • 网站建设技术支持祥云平台网站上推广游戏怎么做
  • 网站建设公司做网站需要注意什么软件下载类型网站怎么做
  • 如何做网站推广方法公司软文怎么写
  • 网站服务器问题高端大气的企业网站模板
  • 去哪儿网站开发简述网络营销策略