`
feelar
  • 浏览: 5463 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

Java移位运算

 
阅读更多
在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的结果
分享到:
评论

相关推荐

    JAVA基础之java的移位运算

    Java的移位运算涉及到整数类型数据的二进制位操作,这对于理解计算机底层运作和优化代码至关重要。移位运算主要包括左移运算符()和右移运算符(&gt;&gt;,&gt;&gt;&gt;)。在Java中,所有的整数类型(除了char类型外)都是有符号...

    java 移位运算符的资源

    而Java.jpg可能是一个与课程或教程相关的图片,展示了一些移位运算的例子或图解,帮助学习者更好地理解这一概念。 总的来说,Java的移位运算符是编程中不可或缺的工具,它们提供了对二进制位的直接控制,能够实现...

    Java利用移位运算将int型分解成四个byte型的方法

    "Java利用移位运算将int型分解成四个byte型的方法" 以下是 Java 中利用移位运算将 int 型分解成四个 byte 型的方法相关知识点: 知识点 1:移位运算 在 Java 中,移位运算是指将一个数字移动到特定的位数,以便...

    【IT十八掌徐培成】Java基础第02天-04.运算符-移位运算-逻辑运算.zip

    本资料主要讲解了Java中的运算符,特别是移位运算和逻辑运算,这两部分是理解数据处理和程序控制的关键。 首先,我们来探讨移位运算。Java支持三种类型的移位运算:左移(),右移(&gt;&gt;)和无符号右移(&gt;&gt;&gt;)。左...

    Java中的位运算

    4. **byte和char进行移位运算**:当`byte`和`char`进行移位运算时不会发生错误,并且均按照整型进行计算,当计算结果超出`byte`或是`char`所能表示的范围时则进行相应的转换。 - 示例: ```java public class ...

    Java 中的位运算

    ### Java中的位运算知识点 #### 一、位运算概述 位运算是计算机科学中的一个基本概念,它直接针对二进制位进行操作。在Java语言中,提供了多种位运算符来处理二进制数据,这对于优化算法性能、提高程序效率等方面...

    java位运算大全.pdf

    示例代码中展示了一些位运算的应用,比如通过位运算符来操作变量的二进制位,演示了逻辑运算符和移位运算符的使用。其中,通过位运算符演示了如何实现加法操作,因为通过位运算可以模拟进位逻辑,进而实现加法。 ...

    java 位运算知识

    Java 位运算是编程语言中的一种底层操作,它允许我们直接对整数类型的数据进行按位操作,包括按位与(&)、按位或(|)、按位异或(^)、按位非(~)以及左移()、右移(&gt;&gt;)和无符号右移&gt;&gt;&gt;。这些操作在处理二进制数据、优化...

    java位运算1.pdf

    - `左移位运算,向左移动指定位数,高位补0。 - `&gt;&gt;`:有符号右移位,向右移动指定位数,根据符号位填充0或1。 - `&gt;&gt;&gt;`:无符号右移位,向右移动指定位数,无论符号,高位均填充0。 3. **示例代码分析** - `...

    Java移位运算符详解实例(小结)

    Java移位运算符详解实例 Java移位运算符是Java语言中的一种基本运算符,用于对二进制数进行位移操作。移位运算符主要包括左移位运算符()、右移位运算符(&gt;&gt;&gt;)和带符号的右移位运算符(&gt;&gt;)。这些运算符可以单独...

    java实现大周期线性反馈移位寄存器

    它首先从`start`字符串中提取出位0、4、10和13,然后通过异或(^)运算生成新的位13(`x13`)。这个异或操作相当于执行了LFSR的线性反馈函数。接着,`start_buffer`用于更新寄存器状态,移除最左边的一位并添加新...

    Java位运算和逻辑运算的区别实例

    在Java编程语言中,位运算和逻辑运算都用于处理布尔值和整数,但它们在实际操作和行为上有着显著的差异。理解这些差异对于优化代码和深入理解计算机底层工作原理至关重要。 首先,我们来看看逻辑运算符。逻辑运算符...

    Java中的位运算符、移位运算详细介绍

    Java中的位运算符和移位运算在编程中有着重要的作用,尤其在处理底层数据和优化代码性能时。这里我们将深入探讨这些概念。 首先,我们来看位运算符。Java提供了四种基本的位运算符: 1. **按位与(&)**:这个...

    文件移位加密与解密

    从给定的文件信息来看,本文档主要涉及的是文件移位加密与解密技术的C语言实现,这是一项基础但非常实用的加密方法,尤其在早期计算机科学领域中占有重要地位。下面,我们将深入探讨这一主题,包括其背景、原理、...

    java中幂指数值的运算代码解析

    本文主要介绍了 Java 中幂指数值的运算代码解析,提供了多种解决方案,涵盖了幂指数值的基本概念、Math.pow 函数的使用、移位运算的应用等方面。 一、幂指数值的概念 在数学中,幂指数值是指一个数的指数次方,如 ...

    Java中的进制与移位运算符

    移位运算在处理位操作、数组索引计算、快速乘除等方面非常有用,但需谨慎使用,因为它们可能会导致数值溢出或丢失符号信息。 了解了这些基础知识后,开发者可以更好地理解和编写涉及二进制和移位运算的代码。在实际...

Global site tag (gtag.js) - Google Analytics