java 位运算符

news2024/9/20 14:49:18

java位运算符

位于算符符号解释
&按位与 当两位同为1时返回1
|按位或,只要有一位为1即返回1
~按位非,将操作数每个位(包括符号位,全部取反)
^按位异或 两位相同时返回0,不相同时返回1
<<左移运算符
>>右移运算符

符号的介绍:

  1. &(与) -> 有假则假
  2. |(或) -> 有真则真
  3. ~(非) -> 取反
  4. ^(异或) -> 符号前后结果一样为false,不一样为true
true ^ true -> false
false ^ false -> false
true ^ false -> true
false ^ true -> true

1代表true 0代表false

我们要知道计算机在存储数据的时候都是存储的数据的补码,计算也是用的数据的补码
但是我们最终看到的结果是原码换算出来的

原码 反码 补码

正数二进制最高位为0; 负数二进制最高位为1

如果是正数 原码 反码 补码 一致
比如:5的原码 反码 补码一致:

0000 0000 0000 0000 0000 0000 0000 0101 -> 因为是正数,二进制最高位为0

如果是负数,原码 反码 补码不一样了
反码是原码的基础上最高位不变,剩下的0和1互换
补码是在反码的基础上+1

比如:-9

原码: 1000 0000 0000 0000 0000 0000 0000 1001
反码: 1111 1111 1111 1111 1111 1111 1111 0110
补码: 1111 1111 1111 1111 1111 1111 1111 0111

左移:<<

运算规则:左移几位就相当于乘以2的几次方

注意当左移的位数n超过该数据类型的总位数时,相当于左移(n-总位数)位

2<<2   //结果等于8
//快速算法:  2*(2的2次方)

在这里插入图片描述

-2<<2  等于-8
快速算法: -2*(22次方)

在这里插入图片描述

右移:>>

快速运算:类似于除以2的n次,如果不能整除,向下取整

9>>2  //等于2
    
//快速算法: 9除以(2的2次方)

在这里插入图片描述

-9>>2   //等于-3
    
//快速算法: -9除以(2的2次方)

在这里插入图片描述

无符号右移:>>>

运算规则:往右移动后,左边空出来的位直接补0,不管最高位是0还是1空出来的都拿0补

正数:和右移一样

9>>>2 //等于2

负数:右边移出去几位,左边补几个0,结果变为正数

-9>>>2
//结果为:1073741821  

按位与:&

小技巧:将0看成为false 将1看成true

运算规则:对应位都是1才为1,相当于符号左右两边都为true,结果才为true

  • 1&1 结果为1

  • 1&0 结果为0

  • 0&1 结果为0

  • 0&0 结果为0

5&3 //结果1

在这里插入图片描述

按位或:|

运算规则:对应位只要有1即为1,相当于符号前后只要有一个为true,结果就是true

  • 1|1 结果1

  • 1|0 结果1

  • 0|1 结果1

  • 0|0 结果0

5|3    //结果为7

在这里插入图片描述

按位异或:^

​ 运算规则:对应位一样的为0,不一样的为1

  • 1^1 结果为0 false

  • 1^0 结果为1 true

  • 0^1 结果为1 true

  • 0^0 结果0 false

5^3   //结果为6

在这里插入图片描述

按位取反

运算规则:~0就是1

​ ~1就是0

~10   //结果为-11

在这里插入图片描述

运算符的优先级

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1984988.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ctfhub eval执行

url http://challenge-1e9b95e5c3c2862c.sandbox.ctfhub.com:10800/ 源码 <?php if (isset($_REQUEST[cmd])) {eval($_REQUEST["cmd"]); } else {highlight_file(__FILE__); } ?> 首先&#xff0c;isset($_REQUEST[cmd]) 用于检查是否通过 $_REQUEST &am…

连接其他主机上的redis连接不上`telnet: Unable to connect to remote host: Connection refused`

telnet: Unable to connect to remote host: Connection refused 这个错误通常表示目标主机&#xff08;192.168.8.29&#xff09;上的服务&#xff08;6379端口&#xff09;没有运行&#xff0c;或者主机的防火墙/网络设置阻止了连接。 你可以尝试以下步骤来解决问题&#xf…

计算机组成原理核心概念-问题理解

目录 1.怎么理解计算机组成原理中存储器、控制器、运算器、输入输出设备之间的协作关系和工作流程 2.比、比特等类似几种表示信息存储的单位具体换算 3.介绍计算机的五大功能-数据传送功能、数据存储功能、数据处理功能、操作控制功能、操作判断功能 4.计算机的工作过程/指令…

OED下载助手地址

ODE v0.8.9 官方版 (自窝挖坑多功能生态应用) | 克隆窝ODE易称"窝的"&#xff0c;是窝头将以多功能生态为主扩展开发的应用&#xff0c;会随时间发展慢慢堆积些有的没的功能&#xff0c;主要用于自窝学习&#xff0c;也希望能帮到大家。 下载地址&#xff1a; 克隆窝…

Java基础:线程池拒绝策略详解

目录 线程池拒绝策略概述1. AbortPolicy&#xff08;默认策略&#xff09;2. CallerRunsPolicy3. DiscardPolicy4. DiscardOldestPolicy5. 自定义拒绝策略 在Java多线程编程中&#xff0c;线程池&#xff08;ThreadPool&#xff09;是一种重要的并发工具&#xff0c;它允许我们…

代码随想录 day 32 动态规划

第九章 动态规划part01 今天正式开始动态规划&#xff01; 理论基础 无论大家之前对动态规划学到什么程度&#xff0c;一定要先看 我讲的 动态规划理论基础。 如果没做过动态规划的题目&#xff0c;看我讲的理论基础&#xff0c;会有感觉 是不是简单题想复杂了&#xff1f; …

0208-场景状态模式的UML图

一、设置状态 二、Uml类图

白话Java - 守护线程

全文详见个人独立博客&#xff1a;白话Java - 守护线程 白话Java - 守护线程关于”白话”, 偶然想到的词。目的就是用简洁&#xff0c;明快的语言来告诉您&#xff0c;我所知道的一切。 Java中的线程分两类&#xff0c;用户线程和守护线程。 Thread commonThread new Thread(…

尚硅谷谷粒商城项目笔记——七、安装rabbitMQ【电脑CPU:AMD】

七、安装rabbitMQ 注意&#xff1a; 因为电脑是AMD芯片&#xff0c;自己知识储备不够&#xff0c;无法保证和课程中用到的环境一样&#xff0c;所以环境都是自己根据适应硬件软件环境重新配置的&#xff0c;这里的虚拟机使用的是VMware。 [!NOTE] 下载RabbitMQ和Erlang的安装…

最新!2024年—华为认证HCIP考证流程

HCIP HCIP&#xff08;Huawei Certified ICT Professional 华为认证ICT高级工程师&#xff09;是华为职业认证中用于标识个人能力在某一技术领域达到高级工程师级别的证明&#xff0c;表示通过认证的人员具有丰富的ICT知识和实践能力。 HCIP方向 HCIP认证条件 无&#xff0…

蝙蝠避障:盲人出行的守护者,让每一步都安心

在这个多彩的世界里&#xff0c;作为一位盲人&#xff0c;我时常感受着出行的种种挑战。每一次踏出家门&#xff0c;都是一场未知的探险&#xff0c;心里难免有些忐忑。街道上的车流声、人群的喧闹&#xff0c;这些对我而言只是模糊的背景音&#xff0c;真正让我担忧的是那些突…

【AI】OCR篇1

每日更新&#xff0c;建议关注、收藏、点赞 ocr流程 版面分析 、预处理-> 行列切割 -> 字符识别 -> 后处理识别矫正 判断页面上的文本朝向&#xff0c;图像预处理&#xff0c;做角度矫正和去噪。对文档版面进行分析&#xff0c;进每一行进行行分割&#xff0c;把每…

AI/机器学习(计算机视觉/NLP)方向面试复习4

1. 什么是知识图谱&#xff1f; 是结构化的语义知识库&#xff0c;用于迅速描述物理世界中的概念及其相互关系。它的基本单位是(实体-关系-实体) 就是点-线-点。 存储类型有结构化和非结构化的数据。结构化数据就是关系数据库&#xff0c;一张表格&#xff0c;关系很清楚&…

leetcode面试算法题

1.数组/字符串 1.1合并两个有序数组 class Solution {public void merge(int[] nums1, int m, int[] nums2, int n) {int p1 0;//遍历数组1int p2 0;//遍历数组2int[] nums3 new int[m n];int p 0;while (p1 < m && p2 < n) {//当数组1、2都没遍历完nums3[…

免费分享:中国1平方公里以上湖泊形状数据(附下载方法)

我国是世界上湖泊数量最多的国家之一&#xff0c;共有湖泊24800多个。其中面积在1平方千米以上的天然湖泊就有2800多个。湖泊分布呈现出显著的区域性差异。东部季风区&#xff0c;特别是长江中下游地区&#xff0c;分布着我国最大的淡水湖群&#xff1b;西部以青藏高原湖泊较为…

创新技术引领潮流,2024年录屏软件新技术

现在使用录屏工具的情况越来越多&#xff0c;大家可以用来录制游戏过程、可以用来录制教学视频、可以用来录制会议记录等需要记录屏幕操作的过程。那有什么适合我们自己的录屏工具吗&#xff1f;这次我给你介绍几款我用过的&#xff0c;你看看是不是符合你的需求吧。 1.福晰录…

多云应用安全平台RegData利用MongoDB简化数据控制和合规流程

在高度规范化市场中&#xff0c;为了保障数据安全&#xff0c;企业可能需要部署一系列繁琐且成本高昂的IT基础设施系统。随着各项数据安全保护措施的出台&#xff0c;企业需要遵守的法规数量越多&#xff0c;尤其是跨越多个地域的企业&#xff0c;其IT基础设施就会越复杂。如今…

《程序猿入职必会(9) · 用代码生成器快速开发》

&#x1f4e2; 大家好&#xff0c;我是 【战神刘玉栋】&#xff0c;有10多年的研发经验&#xff0c;致力于前后端技术栈的知识沉淀和传播。 &#x1f497; &#x1f33b; CSDN入驻不久&#xff0c;希望大家多多支持&#xff0c;后续会继续提升文章质量&#xff0c;绝不滥竽充数…

从文字到视频的魔法:CogVideoX让你的创意瞬间成真

CogVideoX 发布 如果有一个工具能够让你轻松跨越这些障碍&#xff0c;瞬间成为短视频高手&#xff0c;你会心动吗&#xff1f;今天&#xff0c;这个梦想终于成为现实。智谱AI最新推出的CogVideoX&#xff0c;正是为你量身打造的AI视频创作神器&#xff01; CogVideoX CogVideoX…

论文辅导 | 基于时空Transformer 网络的隧道交通运行风险 动态辨识方法

辅导文章 模型描述 为了及时发现、评估与应对高速公路隧道交通风险隐患&#xff0c;确保隧道运行安全通畅&#xff0c;构建了基于时空Transformer网络的隧道运行风险状态动态辨识方法。以隧道交通流全域检测数据与关键断面集计数据为输入&#xff0c;通过空间CNN卷积与时序LST…