Java 笔记-移位运算符

ESD放电路径分析 当金属外壳接地情况下,大部分外部干扰信号将会通过外壳,外壳到接地点,再由接地点回到干扰信号的地,实现干扰信号的回流,这点不仅仅适用于​ESD,对于其他的RI类干扰,也同样适合。发现内部金属板跟外壳的搭接处存在较多的缝隙点,该缝隙点对于频率较高的信号能够实现较为理想的回流,但是对于频率没有那么高的信号,则较难以实现回流,我们尝试将这些缝隙用铜箔包裹住,充分降低该金属板跟外壳的接触阻抗​。我们分析,路径3其实是不期望的路径,我们最期望的路径是1,或者2的内部金属部件跟外壳良好接触情况下的路径。 阅读详情

说明:

  移位运算符
  移位运算符就是在二进制的基础上对数字进行平移。按照平移的方向和填充数字的规则分为三种:<<(左移)、>>(带符号右移)和>>>(无符号右移)。
  在移位运算时,byte、short和char类型移位后的结果会变成int类型,对于byte、short、char和int进行移位时,规定实际移动的次数是移动次数和32的余数,也就是移位33次和移位1次得到的结果相同。移动long型的数值时,规定实际移动的次数是移动次数和64的余数,也就是移动66次和移动2次得到的结果相同。
  三种移位运算符的移动规则和使用如下所示:
  <<运算规则:按二进制形式把所有的数字向左移动对应的位数,高位移出(舍弃),低位的空位补零。
  语法格式:
  需要移位的数字 << 移位的次数
  例如: 3 << 2,则是将数字3左移2位
  计算过程:
  3 << 2
  首先把3转换为二进制数字0000 0000 0000 0000 0000 0000 0000 0011,然后把该数字高位(左侧)的两个零移出,其他的数字都朝左平移2位,最后在低位(右侧)的两个空位补零。则得到的最终结果是0000 0000 0000 0000 0000 0000 0000 1100,则转换为十进制是12.数学意义:
  在数字没有溢出的前提下,对于正数和负数,左移一位都相当于乘以2的1次方,左移n位就相当于乘以2的n次方。
  >>运算规则:按二进制形式把所有的数字向右移动对应巍峨位数,低位移出(舍弃),高位的空位补符号位,即正数补零,负数补1.
  语法格式:
  需要移位的数字 >> 移位的次数
  例如11 >> 2,则是将数字11右移2位
  计算过程:11的二进制形式为:0000 0000 0000 0000 0000 0000 0000 1011,然后把低位的最后两个数字移出,因为该数字是正数,所以在高位补零。则得到的最终结果是0000 0000 0000 0000 0000 0000 0000 0010.转换为十进制是3.数学意义:右移一位相当于除2,右移n位相当于除以2的n次方。
  >>>运算规则:按二进制形式把所有的数字向右移动对应巍峨位数,低位移出(舍弃),高位的空位补零。对于正数来说和带符号右移相同,对于负数来说不同。
  其他结构和>>相似。
  小结
  二进制运算符,包括位运算符和移位运算符,使程序员可以在二进制基础上操作数字,可以更有效的进行运算,并且可以以二进制的形式存储和转换数据,是实现网络协议解析以及加密等算法的基础。

 

实例操作:

  1. public class URShift {
  2.     
  3.     public static void main(String[] args) {
  4.         int i = -1;
  5.         i >>>= 10;
  6.         //System.out.println(i);
  7.         mTest();
  8.     }
  9.     
  10.     public static void mTest(){
  11.         //左移
  12.         int i = 12; //二进制为:0000000000000000000000000001100
  13.         i <<= 2; //i左移2位,把高位的两位数字(左侧开始)抛弃,低位的空位补0,二进制码就为0000000000000000000000000110000
  14.         System.out.println(i); //二进制110000值为48;
  15.         System.out.println("<br>");
  16.         
  17.         //右移
  18.         i >>=2; //i右移2为,把低位的两个数字(右侧开始)抛弃,高位整数补0,负数补1,二进制码就为0000000000000000000000000001100
  19.         System.out.println(i); //二进制码为1100值为12
  20.         System.out.println("<br>");
  21.         
  22.         //右移example
  23.         int j = 11;//二进制码为00000000000000000000000000001011
  24.         j >>= 2; //右移两位,抛弃最后两位,整数补0,二进制码为:00000000000000000000000000000010
  25.         System.out.println(j); //二进制码为10值为2
  26.         System.out.println("<br>");
  27.         
  28.         byte k = -2; //转为int,二进制码为:0000000000000000000000000000010
  29.         k >>= 2; //右移2位,抛弃最后2位,负数补1,二进制吗为:11000000000000000000000000000
  30.         System.out.println(k); //二进制吗为11值为2
  31.     }
  32.     
  33. }

在Thinking   in   Java第三章中的一段话:  
   
    移位运算符面向的运算对象也是

二进制的“位”。 可单独用它们处理整数类型(主类型的一种)。左移位运算符(<<)能将运算符左边的运算对象向左移动运算符右侧指定的位数(在低位补0)。 “有符号”右移位运算符(>>)则将运算符左边的运算对象向右移动运算符右侧指定的位数。“有符号”右移位运算符使用了“符号扩展”:若值为正,则在高位插入0;若值为负,则在高位插入1。Java也添加了一种“无符号”右移位运算符(>>>),它使用了“零扩展”:无论正负,都在高位插入0。这一运算符是C或C++没有的。  
    若对char,byte或者short进行移位处理,那么在移位进行之前,它们会自动转换成一个int。只有右侧的5个低位才会用到。这样可防止我们在一个int数里移动不切实际的位数。若对一个long值进行处理,最后得到的结果也 是long。此时只会用到右侧的6个低位,防止移动超过long值里现成的位数。但在进行“无符号”右移位时,也可能遇到一个问题。若对byte或 short值进行右移位运算,得到的可能不是正确的结果(Java   1.0和Java   1.1特别突出)。它们会自动转换成int类型,并进行右移位。但“零扩展”不会发生,所以在那些情况下会得到-1的结果。

 

详解YOLOv8网络结构/环境搭建/数据集获取/训练/推理/验证/导出/部署 YOLO(You Only Look Once)系列算法因其高效、准确等特点而备受瞩目。由2023年Ultralytics公司发布了YOLO的最新版本YOLOv8是结合前几代YOLO的基础上的一个融合改进版。本文YOLOv8网络结构/环境搭建/数据集获取/训练/推理/验证/导出/部署,从网络结构的讲解从模型的网络结构讲解到模型的部署都有详细介绍,同时在本专栏中还包括YOLOv8模型系列的改进包括个人提出的创新点,传统卷积、注意力机制、损失函数的修改教程,能够帮助你的论文获得创新点。 阅读详情

相关推荐

LAMMPS in文件详解:从零开始手把手教你配置金属分子动力学模拟

本文详细解析了LAMMPS in文件的配置方法,手把手教你完成金属分子动力学模拟的全流程。从软件环境准备、势函数选择,到使用Materials Studio构建模型、编写in文件进行能量最小化与系统弛豫,再到实施单轴拉伸生产模拟并提取应力应变数据,最后通过Python和OVITO进行结果分析与可视化,提供了完整的实战指南和常见问题排查技巧。

weixin_28475533的博客 527

【一看就懂】移位运算符讲解

关于移位运算符 左移:"<<" , 顾名思义将二进制数整体向左移动,多余的位数进行舍去操作(比如向左移动n位,即将二进制数的前n位舍去),舍去固然意味着要在末尾进行补充,补什么呢,联想到整数的小数点后补位,自然可以知道左移末尾补0。 右移:">>" 以此类推,右移即将二进制数末尾的n位舍去,对左边的高位进行补位。问题来了,左边的高位也是补0吗?答案对了一半。我们知道整型...

油炸嘎啦小丸子 6250

SAP固定资产原值与净值取值逻辑全解析:从数据表到ABAP实战

在企业资源计划(ERP)系统中,固定资产的价值管理是财务会计的核心模块,其关键在于准确核算资产原值与净值。从技术原理上看,这涉及对资产全生命周期业务(如购置、折旧、转移、报废)的财务建模,以及底层数据表(如ANLC、ANEP)的精准关联与计算。掌握这一逻辑的技术价值在于,能够确保财务报表数据的准确性,满足合规性要求,并为管理决策提供可靠依据。在SAP ECC或S/4HANA系统的应用场景中,ABAP开发者与财务顾问常需通过编写报表程序,从复杂的数据结构中提取资产价值信息。本文聚焦于SAP资产会计模块,深入剖

weixin_30984001的博客 393

【C语言初阶】操作符之 位运算符详解(“ << ”,“ >> ”,“ & ”,“ | ”,“ ^ ”,“ ~ ”)

操作符之 位运算符详解(“ << ”,“ >> ”,“ & ”,“ | ”,“ ^ ”,“ ~ ”)

枫叶先生的博客 5万+

RK3588嵌入式开发:从零构建Rockit多媒体处理引擎的实战指南

本文详细介绍了如何在RK3588嵌入式平台上从零构建Rockit多媒体处理引擎的实战指南。涵盖开发环境搭建、工具链配置、源码编译流程、硬件加速优化及典型问题解决方案,帮助开发者高效利用RK3588的NPU和VPU加速特性,实现高性能多媒体处理应用。

mango的博客 187

告别纸上谈兵:在Xilinx Artix-7 FPGA上实测RGMII接口,从ILA抓包到PC Ping通全流程记录

本文详细记录了在Xilinx Artix-7 FPGA平台上实现RGMII接口的全过程,包括硬件配置、Vivado工程设置、双沿数据转换代码实现以及ILA波形分析。通过实测数据包捕获和PC端Ping测试,验证了千兆以太网通信的稳定性和可靠性,为工业通信网关等应用提供了实用参考。

weixin_33701251的博客 287

移位运算符(详细介绍)

移位运算符

m0_63783532的博客 6813

STM32F429网络通信避坑指南:用CubeMX搞定LAN8720+LWIP+FreeRTOS(附完整代码)

本文详细介绍了STM32F429通过CubeMX配置LAN8720+LWIP+FreeRTOS实现网络通信的避坑指南,涵盖硬件连接、CubeMX配置、LWIP优化及调试技巧,提供完整代码和实战经验,帮助开发者高效解决以太网通信中的常见问题。

weixin_26873711的博客 145

位运算符(逻辑、移位)详解

位运算符有七个,分为两类:逻辑位运算符:位与(&)、位或(|)、位异或(^)、非位(~)移位运算符:左移()、无符号右移(>>>)

weixin_39724194的博客 2835

Linux存储软件栈剖析之第5篇:F2FS文件系统

F2FS是三星专为NAND闪存设计的开源文件系统,通过异地更新、磨损均衡等机制优化闪存特性。其架构采用层次化存储管理(Block→Segment→Section→Zone)和多日志区域设计,基于数据热度分类(热/温/冷数据)提升性能。核心创新包括节点地址表(NAT)解决级联更新问题,以及基于成本的垃圾回收算法。F2FS通过检查点机制确保崩溃一致性,并利用并行访问能力充分发挥闪存性能优势,显著降低写放大效应,延长设备寿命。

指尖动听知识库 199

【WRF-Urban】WUDAPT详解:An Urban Weather, Climate, and Environmental Modeling Infrastructure

WUDAPT详解:An Urban Weather, Climate, and Environmental Modeling Infrastructure

WW、forever的博客 497

移位运算符<<、>>、>>>

1.左移运算符() 3.无符号右移运算符(>>>)

萌新 1685

ADS电路仿真方法综述:原理与应用

在射频与微波电路设计中,精确的仿真技术是验证性能的关键。ADS(Advanced Design System)作为行业标准工具,集成了多种仿真方法,适用于不同场景。本文将系统解析瞬态分析、谐波平衡(HB)、交流分析(AC)、直流分析(DC)、S参数、大信号SP(LSSP)及包络分析的原理、实现机制与应用场景。

u014344410的博客 481

Java移位运算符笔记

一、Java中有三个移位运算符 左移: 带符号右移:>> (高位添符号位) 无符号右移:>>> (高位添0补齐) 数            x         x>2              x>>>2 17      00010001    00|01000100      00000100|01     00000100|01 -17     11101111    11|101

VicTree的博客 559

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

java笔记——移位运算符

java中的移位运算符 java中一共有三中移位运算符,功能分别如下: <<:左移运算符,向左移位,右边补零 >>:右移运算符,向右移位,如果符号位为0,则左边补0;如果符号位为1,则左边补1 >>>:无符号右移运算符,向右移位,无论符号位是什么,左边都补0 ...

y_chengbo的博客 146

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Java 学习笔记01 移位运算符

Java 的基本数据结构如下图: 注意Java中没有无符号数据,也就是说没有无符号的整形数据,这一点一定要注意。 这个在移位操作要注意,java中有三种移位运算符,如下 num 1,相当于num乘以2 >> : 右移运算符,num >> 1,相当于num除以2 >>> : 无符号右移,忽略符号位,空位都以0补齐 假如要统计二进制数据,注意使用无

JackZhangNJU的专栏 309

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

【Java学习笔记】移位运算符和逻辑运算符

1.&和&& 按位与:a&b是把a和b都转换成二进制数然后再进行与的运算; 逻辑与:a&&b就是当且仅当两个操作数均为 true时,其结果才为 true;只要有一个为零,a&&b就为零。(短路) 2.|和|| 按位或:a|b是把a和b都转换成二进制数然后再进行或的运算 逻辑或:a||b是只要有一个为真结果就为真。(短路) 3.~ 非 非运算符用符号“~”表示,其运

qingtian12138的博客 306

《Java核心技术》读书笔记之移位运算符

“>>”和“ >>>运算符将用0填充高位;>>运算符用符号位填充高位。没有 对移位运算符右侧的参数需要进行模32的运算(除非左边的操作数是long类型,在这种情况下需对右侧操作数模64)。例如,1

Final Fantasy 738

运算符(Java)学习总结

Java grammar lesson 2(学习总结) -Make a little progress every day 文章目录Java grammar lesson 2(学习总结)前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。 提示:以下是本篇文章正文内容,下面案例可供参考 一、pandas是什么? 示例:pa

m0_56774467的博客 1894

三. JAVA运算符

Java运算符是程序操控数据的核心工具,涵盖算术(+ - * / %)、关系(> < ==)、逻辑(&& || !)、位运算(& | ^ <<)及条件(?:)五大类。算术运算注意整数截断,逻辑运算利用短路特性优化执行,位运算适合权限控制等场景。优先级规则遵循“括号 > 单目 > 乘除 > 逻辑”,典型陷阱如true || false && false结果为true(因&&优先级更高)。开发中建议多用括号明确顺序,掌握异或交换值等位技巧,规范对象比较,提升代码健壮性。

weixin_74353123的博客 724

JAVA10_28学习总结(位运算符,流程控制语句)

10_28学习Java,学习了位运算符,各种流程控制语句

weixin_53118395的博客 662

Mac本学java·关于逻辑运算符/短路运算/位运算符2021.2.12学习记录

本作者因为学习Java用的是Mac本,所以内容都是以macOS为主,win及linux的朋友抱歉了

damizhouya的博客 249

Java中的移位运算符

左移运算符 << 运算规则:丢弃左边(高位)指定位数,右边(低位)补0。 实例:定义一个 int 类型数字,int intValue = 12345678,那么这个数字在二进制中的形式如下: 插入图片。。。 int intValue = 12345678; // 以下两个方法都可以打印出二进制形式,不过高位0已被舍弃 System.out.println(Integer.toString(intValue, 2)); System.out.println(Inte...

qq_39314099的博客 5475

Java 位运算符和移位运算符

参考:Bitwise and Bit Shift Operators《Java 编程思想 第3章 操作符》今天学习 Java BitSet 类时,发现对于位运算符和移位运算符的操作有些陌生,所以重新复习一下主要内容: 位操作浅析 位运算符 移位运算符 优先级 问题解析 取值范围 位操作浅析Java 可在整数类型(integral type)数据上进行位(bit)操作整数类型: 字节型(byte,8

u012005313的专栏 7708

Java移位运算符

在java中,移位运算符总共分为三种::左移位运算符(&amp;amp;lt;&amp;amp;lt;)、有符号右移位运算符(&amp;amp;gt;&amp;amp;gt;)、无符号右移位运算符(&amp;amp;gt;&amp;amp;gt;&amp;amp;gt;) 1、左移位运算符(&amp;amp;lt;&amp;amp;lt;) 左移运算符&amp;amp;lt;&amp;amp;lt;使指定值的所有位都

qq_40509039的博客 1622

python左移位运算_python移位运算符

1,二进制方式>>> bin( 1 )'0b1'>>> bin( 10 )'0b1010'>>> a = 0b10>>> a2>>>2,移位运算符( >> << ): 箭头向左就是 向左移位 反正 箭头向右 就是向右位移,移位针对的是二进制如,十进制的1 ---> 对应...

weixin_39578899的博客 5315
上一篇: Php ini_set ini_get可操作配置参数列表
下一篇: MySQL decimal 类型
stefenjun
博客等级 码龄23年 4粉丝 12原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值