苏州网站设计公司兴田德润i网址多少看课学校网站建设

张小明 2026/1/10 11:45:25
苏州网站设计公司兴田德润i网址多少,看课学校网站建设,网站开发后怎么上线,php 资讯网站按位运算符直接操作二进制位#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进行投诉反馈,一经查实,立即删除!

湛江建站模板网站建设一对一培训

引言 力扣第 19 题:给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 这道题看似简单,却像一颗洋葱——剥开一层,还有一层。它背后隐藏着链表操作中三大核心技巧的精妙融合:dummy 哨兵节点、…

张小明 2026/1/10 11:44:12 网站建设

品牌网站建设特色大蝌蚪网推公司

解锁UI-TARS:10倍效率提升的GUI自动化神器使用全攻略 【免费下载链接】UI-TARS 项目地址: https://gitcode.com/GitHub_Trending/ui/UI-TARS 还在为重复的电脑操作感到疲惫吗?UI-TARS作为一款革命性的开源多模态智能体,能够像真人一样…

张小明 2026/1/9 16:30:01 网站建设

建网站收费建设局网站查询个人信息

Qwen3-VL-8B安装包获取渠道揭秘 在智能电商后台自动生成商品描述的开发需求日益增长的今天,越来越多团队开始寻找能“看懂图片”的轻量级AI模型。然而,当开发者在百度、GitHub甚至Hugging Face上搜索 Qwen3-VL-8B 时,往往一无所获——没有公开…

张小明 2026/1/10 11:44:14 网站建设

新昌网站开发济南营销网站建设

还在为复杂的机器人编程而头疼吗?想要亲手打造一个能够协同工作的机械臂系统?本文将带你用LeRobot开源框架,从硬件组装到智能控制,一步步实现SO-101协作机械臂的完整部署。无论你是机器人爱好者还是专业开发者,都能在这…

张小明 2026/1/10 11:44:17 网站建设

dede静态网站怎么自己做购物网站

有需要的同学,源代码和配套文档领取,加文章最下方的名片哦 一、项目演示 项目演示视频 二、资料介绍 完整源代码(前后端源代码SQL脚本)配套文档(LWPPT开题报告)远程调试控屏包运行 三、技术介绍 Java…

张小明 2026/1/10 9:14:18 网站建设

笔记本网站开发背景站嗨免费建站系统

宝子们,出入境时,边检人员快速查验护照,保障我们顺利通行。这背后,护照阅读器发挥着关键作用,堪称边检工作的 “超级英雄”!护照阅读器究竟是何方神圣?它是一种专业光学仪器,专为识别…

张小明 2026/1/10 11:44:16 网站建设