以下是java位操作符的小总结,具体如下:
二进制负数以它正值的补码形式表达
补码:反码+1等于补码
比如:System.out.println(Integer.toBinaryString(-5));
打印:1111 1111 1111 1111 1111 1111 1111 1011 不用想了肯定是32位
过程是这样的:
一个负数,比如-5,它的二进制在java里面是这样表示
1000 0000 0000 0000 0000 0000 0000 0101
它的正值是:
0000 0000 0000 0000 0000 0000 0000 0101
反码是:
1111 1111 1111 1111 1111 1111 1111 1010
再加上1是:
1111 1111 1111 1111 1111 1111 1111 1011
即得到打印的内容
java ~ 操作符,对每个二进制位的内容求反,即1变成0,0变成1
测试负数:
int a = -5;//101;
System.out.println(~a);
打印:4
过程是这样的,首先表示出来这个负数
1111 1111 1111 1111 1111 1111 1111 1011(上面已经提到为什么这样表示)
各位取反得到
0000 0000 0000 0000 0000 0000 0000 0100
转为10进制得到4
测试正数:
int a = 5;//101;
System.out.println(~a);
打印:-6
首先表示出来这个正数:
0000 0000 0000 0000 0000 0000 0000 0101
各位取反得到:
1111 1111 1111 1111 1111 1111 1111 1010
这个代表的就是-6了,至于为什么看最上面
java & 操作符,对应的二进制位进行与操作,两个都为1才为1,其他情况均为0
测试:
System.out.println(5&6);
打印:4
过程:
5表示成:0000 0000 0000 0000 0000 0000 0000 0101
6表示成:0000 0000 0000 0000 0000 0000 0000 0110
进行 & :0000 0000 0000 0000 0000 0000 0000 0100
得到:4
java | 操作符,对应的二进制位进行或操作,两个都为0才为0,其他情况均为1
测试:
System.out.println(5|6);
打印:7
过程:
5表示成:0000 0000 0000 0000 0000 0000 0000 0101
6表示成:0000 0000 0000 0000 0000 0000 0000 0110
进行 | :0000 0000 0000 0000 0000 0000 0000 0111
得到:7
java ^ 操作符 当对应二进制位值相同,该位为0 否则为1
测试:
System.out.println(5^6);
打印:3
过程:
5表示成:0000 0000 0000 0000 0000 0000 0000 0101
6表示成:0000 0000 0000 0000 0000 0000 0000 0110
进行 ^ :0000 0000 0000 0000 0000 0000 0000 0011
得到:3
java << 操作符,左边移动,右面填充0
测试:
System.out.println(5<<1);
打印:10
5表示成:0000 0000 0000 0000 0000 0000 0000 0101
进行 <<1 操作:0000 0000 0000 0000 0000 0000 0000 1010
java >> 操作符,左边移动,右面填充0
测试:
System.out.println(5>>>1);
打印:2
5表示成:0000 0000 0000 0000 0000 0000 0000 0101
进行 >>>1 操作:0000 0000 0000 0000 0000 0000 0000 0010
左移动一位相当乘以2 右移动一位相当处以2 相关推荐
从零到一:手把手教你用Python+LangChain搭建企业级RAG知识库(附避坑指南)
本文为开发者提供了一份详尽的实战指南,手把手教你使用Python和LangChain框架从零构建企业级RAG知识库。内容涵盖环境搭建、文档处理、向量化检索、提示工程及生产部署等核心环节,并重点分享了文档分割、检索优化等关键避坑经验,旨在帮助读者打造稳定、高效且易于维护的智能知识中枢。
JAVA的位运算教程
JAVA的位运算 关键字: java 位运算 Java 位运算 一,Java 位运算 1.表示方法: 在Java语言中,二进制数使用补码表示,最高位为符号位,正数的符号位为0,负数为1。补码的表示需要满足如下要求。 (l)正数的最高位为0,其余各位代表数值本身(二进制数)。 (2)对于负数,通过对该数绝对值的补码按位取反,再对整个数加1。 2.位运算符位运算表达式由操作数和位运算符组成,实现对整数类型的二进制数进行位运算。位运算符可以分为逻辑运算符(包括~、&、|和^)及移位运
如何编写 Skill 实现自动化用例生成
Skill 本质上是一组结构化的指令和工具定义,它告诉 AI 模型在特定场景下应该遵循什么流程、调用哪些工具、输出什么格式的内容。元信息:名称、描述、版本等。指令(Instructions):定义 AI 的行为准则和任务流程。工具(Tools):AI 可以调用的外部能力,如文件读写、代码执行、API 请求等。上下文(Context):预设的输入输出格式或示例。编写一个用于自动生成测试用例的 Skill,核心在于定义清晰的指令流程和输出规范。
【Java算法】位运算
这个算法利用了位运算的高效性和鸽巢原理来实现一个简洁而高效的字符串唯一性检测功能。这种方法非常适合于处理字符集相对较小的情况,例如只包含小写字母的字符串。
狂神说docker(最全笔记)
一.Docker入门 1. Docker 为什么会出现 2. Docker的历史 3.Docker最新超详细版教程通俗易懂 Docker是基于Go语言开发的!开源项目 官网 官方文档Docker文档是超详细的 仓库地址 4. 虚拟化技术和容器化技术对比 4.1. 虚拟化技术的缺点 资源占用十分多 冗余步骤多 启动很慢 2.2. 容器化技术 比较Docker和虚拟化技术的不同 传统虚拟机, 虚拟出一条硬件,运行一个完整的操作系统,然后在这个系统上安装和运行软.
15、目标检测模型的评估指标与YOLO算法解析
本文详细解析了目标检测模型的评估指标,包括精确率、召回率、AP、mAP及IoU的定义与作用,并深入介绍了YOLO算法的核心原理与推理流程。从网格划分、锚框引入到边界框细化与后处理,全面阐述了YOLO如何实现快速准确的目标检测。同时总结了YOLO在智能安防、自动驾驶和工业检测等领域的应用,并展望了其未来在准确性提升、多类别支持和技术融合方面的发展趋势。
JAVA中的位运算操作
java中的位移运算 1、名词解释 首先,位移运算仅针对整数,非整数不支持位移运算。 ①<<:左移操作符,低位补0。 ②>>:算数右移符,高位补符号位。 ③>>>:逻辑右移符,高位补0。 如果对byte、short类型移位,在移位运算前,它们会先被转成int类型,且返回值也是int类型。如果对long类型移位,则返回值也是long。 2、正负数换算 在java中最高位表示符号位,最高位0代表正数,最高位1代表负数。 用byte数据类型举例,byte占据8个二进制位:
【报错解决】彻底解决 MySQL 登录报错 ERROR 1045 (28000)
MySQL 报错 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) 通常是由于用户名或密码错误、权限不足、服务未启动或配置文件异常导致的。通过检查并确认密码、重置 root 用户密码、授予完整权限、校验配置文件以及确保 MySQL 服务正常运行,可以彻底解决该问题。掌握这一流程不仅能够恢复 root 登录,还能保障数据库的安全性与稳定性。
一篇搞定位运算——java位运算详解
java位运算详解前言一、位运算符&:按位与|:按位或~:按位非^:按位异或<<:左位移运算符>>:右位移运算符<<<:无符号右移运算符二、位运算符结合赋值操作三、位运算符常见使用(1) 公式:m*2^n = m << n(2)判断一个数n的奇偶性(3)不用临时变量交换两个数(4)取绝对值四、有趣的位运算符操作五、参考文章 前言 在日常开发中位运算不会很常用到,如果能够巧妙的使用位运算可以大量减少运行开销,优化算法。博主在
深度强化学习训练结果曲线绘制教程
使用python语言,只调用matplotlib库,绘制训练过程中保存的强化学习训练曲线。模仿经典论文中的训练曲线,多次训练取平均,并绘制出阴影区域。
RK3588 DDR5 方案
RK3588 DDR5方案支持多种LPDDR5/LPDDR5X内存型号,包括美光、三星、海力士、江波龙和佰维等品牌。文档详细列出了已验证的DDR5内存规格,涵盖2GB-16GB容量范围,提供组织形式、封装类型和测试状态等信息。其中美光型号最全面,支持12GB/16GB大容量方案。部分型号处于测试验证阶段(T/A),需量产进一步确认性能。该方案为RK3588平台开发提供可靠的内存选型参考。
java的7种位运算符
Java的7种位运算符
【异常】Cursor编辑器 “Taking longer than expected...“ 报错全链路排查与解决方案
该提示并非传统的程序崩溃或语法报错,本质是Cursor编辑器的超时预警机制——当核心任务(云端AI推理请求、本地项目索引等)的执行耗时超出系统预设阈值时,触发的用户告知类提示,核心诱因是任务执行全链路出现阻塞或性能瓶颈。以下方案按排查优先级从高到低排序,覆盖从快速急救到根因根治的全流程,可按步骤逐步验证解决。针对大仓库、多依赖项目的索引超时问题,核心是通过规则过滤无效文件,从根源降低索引负载。
java位操作符_详解Java的位操作符
Java的位操作符用来操作整数基本数据类型中的单个“比特”(bit),即代进制位。而我们知道比特就是0和1,那么,位操作就是对这些数据进行基本的操作。如果基本类型是char、byte或者short类型的数值进行移位处理,那么会转化成int类型,再进行移位的处理Java的按位操作符按位操作符会对两个参数对应的位执行布尔代数运算,并最终生成一个结果。这个操作符有与(&)、非(~)、或(|)、异...
锂电池充电器电路设计 里面有电路
锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。
OV9734 DATASHEET,完整规格书
OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等
java中位操作_Java 中位操作的详解
<1>.在了解位移之前,先了解一下正数和负数的二进制表示形式以及关系:举例15和-15:15 的原码: 00000000 00000000 00000000 00001111补码: 11111111 11111111 11111111 11110000+1 =-15的原码:11111111 11111111 11111111 11110001负数的原码即为:正数的原码取反,再加1。&l...
SIMATIC S7-1200, S7-1500 PID 控制[手册]
SIMATIC S7-1200, S7-1500 PID 控制[手册]
java的移位操作详解
java的移位操作详解:左移和右移 以前很怕这个东西 ,一看见就头大,今天下决心解决它。^~^ 左移位: 左移操作时将运算数的二进制码整体左移指定位数,左移之后的空位用0补充 右移位:>>,有符号的移位操作 右移操作是将运算数的二进制码整体右移指定位数,右移之后的空位用符号位补充,如果是正数用0补充,负数用1补充。 eg: public class ShiftMa
老版QQ原生表情gif动态
这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。
java按位与_详解Java的按位操作符
Java的位操作符用来操作整数基本数据类型中的单个“比特”(bit),即代进制位。而我们知道比特就是0和1,那么,位操作就是对这些数据进行基本的操作。如果基本类型是char、byte或者short类型的数值进行移位处理,那么会转化成int类型,再进行移位的处理Java的按位操作符按位操作符会对两个参数对应的位执行布尔代数运算,并最终生成一个结果。这个操作符有与(&)、非(~)、或(|)、异...
详解Java中的位操作
在计算机中所有数据都是以二进制的形式储存的。位运算其实就是直接对在内存中的二进制数据进行操作,因此处理数据的速度非常快。在实际编程中,如果能巧妙运用位操作,完全可以达到四两拨千斤的效果,正因为位操作的这些优点,所以位操作在各大IT公司的笔试面试中一直是个热点问题。 位操作基础 基本的位操作符有与、或、异或、取反、左移、右移这6种,它们的运算规则如下所示: 1.在这6种操作符,只有...
Java的移位操作详解
1.基本概念——原码、反码、补码 原码:正数和负数的原码是它本身。例如一个8位的二进制数。最高位表示符号位,即正负号。00001000表示10进制的8。10001000表示这是一个负数,这里,并没有说这个数代表10进制的哪个数。因为在计算机中负数不是用原码表示的,后面会解释。 反码:正数的反码和原码相同。负数的反码按位取反,符号位不变,如10001000的反码为11110111。反码其实是专门...
java 去重复值 按位_详解Java的按位操作符
Java的位操作符用来操作整数基本数据类型中的单个“比特”(bit),即代进制位。而我们知道比特就是0和1,那么,位操作就是对这些数据进行基本的操作。如果基本类型是char、byte或者short类型的数值进行移位处理,那么会转化成int类型,再进行移位的处理Java的按位操作符按位操作符会对两个参数对应的位执行布尔代数运算,并最终生成一个结果。这个操作符有与(&)、非(~)、或(|)、异...
java中的移位操作详解
移位运算,这是一个陌生又熟悉的操作。陌生是指不易理解且不常用,熟悉是指“别人家的开发工程师”在代码中经常使用这种方式进行高低位的截取、哈希计算、乘除法的运算,今天,让我们一起来揭开移位运算的神秘面纱。 Java提供了两种带符号位的移位操作,左移 << 和右移 >>,此外,Java还提供了一种无符号右移操作 >>>。下面我们一起来研究如何正确的使用它们。 带...
JAVA 位操作详解 另一篇
<br />以下是java位操作符的小总结,具体如下: 二进制负数以它正值的补码形式表达 补码:反码+1等于补码 比如:System.out.println(Integer.toBinaryString(-5)); 打印:1111 1111 1111 1111 1111 1111 1111 1011 不用想了肯定是32位 过程是这样的: 一个负数,比如-5,它的二进制在java里面是这样表示 1000 0000 0000 0000 0000 0000 0000 0101 它的正值是:
java的移位操作详解,左移和右移
转载:http://zhengjunwei2007-163-com.iteye.com/blog/739087 左移位: 左移操作时将运算数的二进制码整体左移指定位数,左移之后的空位用0补充 右移位:>>,有符号的移位操作 右移操作是将运算数的二进制码整体右移指定位数,右移之后的空位用符号位补充,如果是正数用0补充,负数用1补充。 例子: public static void
398



被折叠的 条评论
为什么被折叠?



