营商环境建设网站centos 网站搭建

张小明 2026/1/11 15:16:48
营商环境建设网站,centos 网站搭建,网站开发方向和移动开发方向那个好,宁波网站建设zj95按位运算符直接操作二进制位#xff0c;是编程中处理位级操作、性能优化、状态标记的核心工具。以下是Java / 通用编程语言中按位运算符的完整规律#xff0c;包含核心定义、常用技巧和边界场景。一、核心按位运算符#xff08;7 个#xff09;运算符名称符号运算规则…按位运算符直接操作二进制位是编程中处理位级操作、性能优化、状态标记的核心工具。以下是Java / 通用编程语言中按位运算符的完整规律包含核心定义、常用技巧和边界场景。一、核心按位运算符7 个运算符名称符号运算规则以 a6 (0110)、b3 (0011) 为例结果二进制结果十进制按位与AND对应位都为 1 则为 1否则为 000102|按位或OR对应位有 1 则为 1否则为 001117^按位异或XOR对应位不同则为 1相同则为 001015~按位取反NOT每一位取反1→00→1含符号位11111111 11111001补码-7Java int左移SHL左移 n 位低位补 0高位溢出舍弃61110012右移算术SHR右移 n 位高位补符号位正数补 0负数补 16100113右移逻辑USHR右移 n 位高位补 0仅无符号右移Java 特有-6121474836452147483645基础规则补充按位与任何数 0 0任何数 自身 自身常用判断奇偶num 1 0为偶数、提取指定位num (1k)判断第 k 位是否为 1。按位或|任何数 | 0 自身任何数 | 全 1 全 1常用置 1 指定位num | (1k)将第 k 位设为 1。按位异或^任何数 ^ 0 自身任何数 ^ 自身 0满足交换律 / 结合律a^b^a b常用交换两个数aa^b; ba^b; aa^b、找唯一出现奇数次的数。按位取反~补码规则~num -num - 1如~6 -7~-3 2注意Java 中 int 是 32 位取反会包含符号位无单独 “无符号取反”。移位运算左移等价于乘以 2n无溢出时如num 3 num * 8算术右移等价于除以 2n 向下取整如713-71-4逻辑右移仅对正数和 一致负数右移后变为正数因为高位补 0。二、按位运算核心规律1. 位运算与数值运算的等价性无溢出位运算表达式等价数值运算适用场景num nnum * (2^n)快速乘法性能优于 *num nnum / (2^n)向下取整快速除法num (num-1)清除 num 最右侧的 1统计 1 的个数、判断 2 的幂num (-num)提取 num 最右侧的 1树状数组BIT核心a ^ b ^ ba还原原值2. 常用位运算技巧高频1判断是否为 2 的幂原理2 的幂的二进制只有 1 个 1num (num-1) 0需排除 num0。java运行boolean isPowerOf2(int num) { return num 0 (num (num - 1)) 0; }2统计二进制中 1 的个数方法 1逐位判断通用java运行int countOne(int num) { int count 0; while (num ! 0) { count num 1; // 取最低位 num num 1; // 无符号右移避免负数死循环 } return count; }方法 2快速消去最右侧 1效率更高java运行int countOne(int num) { int count 0; while (num ! 0) { num num - 1; // 消去最右侧的1 count; } return count; }3交换两个数无需临时变量原理异或的自反性a^b^b a。java运行void swap(int[] arr, int i, int j) { if (i j) return; arr[i] arr[i] ^ arr[j]; arr[j] arr[i] ^ arr[j]; // 等价于原arr[i] arr[i] arr[i] ^ arr[j]; // 等价于原arr[j] }4将第 k 位设为 0/1设为 0num ~(1 k)先构造第 k 位为 0、其余为 1 的掩码再与运算设为 1num | (1 k)构造第 k 位为 1 的掩码或运算java运行// 第k位设为0k从0开始最低位为0 int setBit0(int num, int k) { return num ~(1 k); } // 第k位设为1 int setBit1(int num, int k) { return num | (1 k); }5两个数的加减不用 /-原理异或算无进位和与运算算进位循环直到进位为 0。java运行// 加法a b int add(int a, int b) { while (b ! 0) { int carry (a b) 1; // 进位只有11才产生进位 a a ^ b; // 无进位和 b carry; // 进位赋值给b循环直到无进位 } return a; } // 减法a - b a (-b)-b ~b 1 int sub(int a, int b) { return add(a, add(~b, 1)); }三、边界与易错点溢出问题左移可能溢出如Integer.MAX_VALUE 1变为负数移位运算不做溢出检查示例1 31int 范围是 - 2^31 ~ 2^31-1结果为-2147483648溢出为负数。负数的位运算所有位运算基于补码负数的最高位是 1算术右移会补 1如-1 100 -1逻辑右移对负数会将符号位变为 0如-1 1 2147483647int 最大值。优先级问题位运算优先级低于算术运算高于赋值运算错误示例num 1 0等价于num (1 0)错误需加括号(num 1) 0。0 和 1 的特殊处理~0 -1所有位为 1~1 -20 ^ num num1 num num 1取最低位。四、应用场景总结场景核心位运算状态标记如权限按位或置 1、按位与判断数值快速运算乘除 2^n移位运算数组去重 / 找唯一数按位异或二进制位操作统计 1、置位、、^、~算法优化如快速排序、树状数组lowbit加密 / 哈希算法异或、移位组合按位运算的核心优势是性能极高直接操作硬件层二进制在底层编程、算法竞赛、高性能框架中广泛使用掌握上述规律可大幅简化位级逻辑的实现。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

淘宝客如何做自己的网站网站后台程序怎么做

文章目录具体实现截图主要技术与实现手段系统设计与实现的思路系统设计方法java类核心代码部分展示结论源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!具体实现截图 本系统(程序源码数据库调试部署讲解)带文档1万…

张小明 2026/1/6 1:09:00 网站建设

建设多语种网站网站建设图片怎么调

Notepads文件类型图标系统深度解析:提升文本编辑效率的视觉革命 【免费下载链接】Notepads A modern, lightweight text editor with a minimalist design. 项目地址: https://gitcode.com/gh_mirrors/no/Notepads 在当今信息爆炸的时代,高效的文…

张小明 2026/1/6 16:49:26 网站建设

网站建设的步骤图物流公司做网站哪家好

在当今复杂多变的Windows应用开发环境中,性能问题往往成为项目推进的"瓶颈问题"。当你的应用程序在用户设备上运行缓慢、CPU占用异常时,传统的调试方法往往力不从心。而Very Sleepy作为一款专业的抽样CPU剖析器,正在为开发者们打开…

张小明 2026/1/6 18:51:49 网站建设

去哪儿网站做宣传多少钱16种营销模型

AKShare金融数据接口:跨平台多语言调用的完整实战指南 【免费下载链接】akshare 项目地址: https://gitcode.com/gh_mirrors/aks/akshare AKShare作为一款强大的金融数据接口工具,为量化投资和数据分析提供了全面的解决方案。本文将从快速上手到…

张小明 2026/1/8 21:42:39 网站建设

网站排名优化seo如何优化关键词

终极NFC读卡器工具:电脑版完整使用指南 【免费下载链接】NFC读卡器工具-电脑版 本仓库提供了一个名为“NFC-Reader-Tool-电脑版.zip”的资源文件下载。该文件是一个PM532免费软件,功能强大且易于使用,适合需要进行NFC读卡操作的用户 项目地…

张小明 2026/1/7 6:58:07 网站建设

建设电影网站网站建设与设计毕业设计

物联网数据管理与未来6G网络发展 1. 物联网数据管理挑战与解决方案 在物联网时代,设备连接数量呈爆炸式增长,这带来了一系列关键问题,如带宽使用、数据安全以及数据溯源等。许多物联网设备在运行过程中,需要高效管理数据,以确保其正常运作和数据的安全性。 Cloudera Da…

张小明 2026/1/6 11:52:26 网站建设