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

做兼职的网站贴吧网络营销郑州优化推广公司

做兼职的网站贴吧,网络营销郑州优化推广公司,一级a做爰片_相关网站,青羊网站建设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/470934.html

相关文章:

  • 天津网站设计公司排名腾讯企点qq
  • 注册网站建设微商引流人脉推广软件
  • 临海网站设计seo专员是指什么意思
  • 怎么进网站后台管理系统seo招聘职责
  • 昆明建设厅网站竞价排名是什么
  • wordpress 移至回收站今天的新闻头条
  • 怎么做网站的后台营销型网站建设策划书
  • 网站开发与维护都有些什么网上seo研究
  • 公司做网站 手机 电脑整合营销方案案例
  • 手表怎么在网站做推广百度关键词快速排名
  • 做料理网站关键词怎么设置企业推广app
  • 网站会员注册系统源码微信营销神器
  • 山东网站建设简述如何优化网站的方法
  • 深圳网站建设怎么样深圳抖音seo
  • 自己做视频网站 在优酷推广长沙网络营销哪家平台专业
  • 给网站做解答是干嘛的武汉久都seo
  • 深圳知名网站建设哪家好抖音seo代理
  • c 能用来做网站吗企业qq下载
  • uc官方网站开发中心成都关键词优化排名
  • 网站建设开发费会计分录店铺推广渠道有哪些
  • 四川兴昌建设有限公司网站发稿
  • 阿里云服务器免费试用保定百度推广优化排名
  • 网站开发服务器网站源码平台
  • 网站建设公司 知乎百度账号一键登录
  • 新余建设网站湘潭网站seo
  • 网页设计html代码翻译seo自动排名软件
  • 广州建立公司网站多少钱模板网站建站哪家好
  • 做外贸的人如何上国外网站seo搜索引擎优化课程
  • 小网站如何做武汉seo关键字优化
  • 香港公司注册开户多少钱seo推广一年要多少钱