`
high_java
  • 浏览: 12977 次
  • 性别: Icon_minigender_1
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

基础知识:计算机中的移位运算

 
阅读更多

移位运算符就是在二进制的基础上对数字进行平移。按照平移的方向和填充数字的规则分为三种:<<(左移)、>>(带符号右移)和>>>(无符号右移)。 
   在移位运算时,byte、short和char类型移位后的结果会变成int类型,对于byte、short、char和int进行移位时,规定实际移 动的次数是移动次数和32的余数,也就是移位33次和移位1次得到的结果相同。移动long型的数值时,规定实际移动的次数是移动次数和64的余数,也就 是移动66次和移动2次得到的结果相同。 

  386 以后的硬件把移位对字长进行取模,右移32位就是右移了0位(CPU 把右移的位数 32 对于字长 32 进行取模运算,得到 0),因此 9 右移 32 位仍然是 9。你可以换一下for循环的条件,比如换成i<=64,你会发现结果是一样的。 

  三种移位运算符的移动规则和使用如下所示: 
  <<运算规则:按二进制形式把所有的数字向左移动对应的位数,高位移出(舍弃),低位的空位补零。 
  语法格式: 
  需要移位的数字 << 移位的次数 
  例如: 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次方。 
  >>>运算规则:按二进制形式把所有的数字向右移动对应巍峨位数,低位移出(舍弃),高位的空位补零。对于正数来说和带符号右移相同,对于负数来说不同。 
  其他结构和>>相似。 

分享到:
评论

相关推荐

    运算器移位运算实验实验报告.pdf

    运算器移位运算实验是计算机组成原理中一个重要的实践环节,旨在帮助学生深入理解运算器的基本构造和数据处理流程。在这个实验中,学生需要掌握如何使用简单的运算器进行数据传送和移位操作,同时验证移位控制的功能...

    微型计算机原理与接口技术:5逻辑运算和移位指令.ppt

    微型计算机原理与接口技术:逻辑运算和移位指令 ...微型计算机原理与接口技术的逻辑运算和移位指令是计算机科学的基础知识,了解这些知识点对于理解计算机系统的工作原理和设计计算机系统非常重要。

    计算机组成原理 课设任务书--基本模型机和带移位运算的模型机设计与实现

    本任务书的核心是构建“基本模型机”和“带移位运算的模型机”,旨在帮助学生掌握计算机硬件设计的基础知识,理解数据在计算机中的表示、存储和处理方式,以及指令系统的构造原理。 首先,我们要讨论基本模型机的...

    基础实验_11_移位寄存器 :线性反馈移位寄存器.rar_寄存器_移位寄存器_线性反馈移位寄存器

    线性反馈移位寄存器(Linear Feedback Shift Register, LFSR)是数字逻辑电路中的一个重要组成部分,...这是一个很好的实践机会,可以将理论知识与实际操作相结合,为今后的电子工程或计算机科学学习打下坚实的基础。

    计算机组成原理.课程设计之带移位运算的模型机设计与实现.微程序流程图

    ### 计算机组成原理——带移位运算的模型机设计与实现中的微程序流程图解析 #### 一、引言 在计算机组成原理的学习过程中,设计并实现一个带有移位运算功能的模型机是一项非常重要的实践任务。通过这项任务,不仅...

    计算机组成原理:浮点数表示及运算 .ppt

    浮点数的表示、规格化和运算是计算机组成原理中的基础知识。 八、参考文献 [1] 计算机组成原理教程 [2] 浮点数表示与运算 [3] IEEE754 标准 九、总结 浮点数是计算机组成原理中的一个重要概念。它可以表示实数,...

    33 3移位运算操作点亮流水灯.zip

    在这个项目中,通过3移位运算操作来实现流水灯的效果,这涉及到计算机底层的位操作知识,包括左移、右移以及循环移位等概念。 1. **移位运算**: 移位运算在编程中是处理二进制数据的重要方式。对于一个二进制数,...

    计算机组成原理实验报告3-数据输出实验 移位门实验.pdf

    在心得体会部分,学生强调了实验对于理解计算机移位算法的重要性,以及如何将之前学习的寄存器操作、选择信号等内容综合应用。通过实验,他们了解到寄存器D、R、L分别显示不移位、右移一位和左移一位的运算结果,...

    计算机组成原理实验报告3-数据输出实验 移位门实验.docx

    通过此次实验,参与者不仅能熟练掌握模型机中数据输出的实现,还能深入理解移位运算的细节。移位运算的重要性在于其能够快速改变数字的大小,而无需实际的加减运算,这对于提高计算机的计算效率至关重要。无论是逻辑...

    基本模型机的设计与实现和带移位运算的模型机的设计及实现.rar

    "基本模型机的设计与实现"以及"带移位运算的模型机的设计及实现"是两个紧密相关的主题,它们涉及到计算机体系结构的基础知识,特别是指令系统、运算器设计以及移位运算在计算机中的应用。 首先,我们要理解什么是...

    计算机组成原理:3.5 浮点运算器.ppt

    本文档主要介绍了计算机组成原理中的浮点运算器,涵盖了浮点运算方法、浮点数据表示、浮点四则运算、浮点加减法运算等知识点。 首先,浮点运算器是计算机组成原理中的一种重要组件,负责执行浮点数的四则运算。...

    计算机基础知识(5).ppt

    计算机中的运算基础包括数的运算、逻辑运算、移位运算等。数的运算包括加法、减法、乘法、除法等。逻辑运算包括与运算、或运算、非运算等。移位运算包括左移位、右移位等。 计算机基础知识涵盖了计算机的发展、特点...

    计算机组成原理运算器的实验报告.pdf

    通过本次实验,参与者能够直观地理解运算器内部的工作流程,熟悉算术、逻辑和移位运算的操作方式,为后续学习计算机体系结构和CPU设计打下坚实的基础。此外,实验还强调了正确连接电路和安全操作的重要性,以避免...

    计算机组成原理实验报告 实验一 运算器实验 实验二 半导体存储器原理实验

    学生需要理解移位运算的原理,掌握寄存器操作、移位计数器的设计以及如何将移位运算整合到整个计算机系统中。实验的目的是让学生能够实际操作和验证移位运算在硬件层面的实现,增强对计算机底层运算的理解。 通过这...

    计算机软考初级程序员-计算机基础-CPU-运算器

    了解其组成、工作原理及应用场景有助于深入理解计算机硬件的基础知识,对于参加软考初级程序员考试的考生来说具有重要的意义。掌握这些基础知识不仅有助于应对考试,更能够在实际工作中更好地理解和应用相关的技术。

    信息学奥赛-计算机基础知识(完整版)资料.doc

    2. 算术运算和逻辑运算:包括加法、减法、乘法、除法、移位运算、逻辑与、逻辑或、逻辑非等运算的定义和应用。 3. 原码、反码和补码:介绍原码、反码和补码的概念和应用,以及它们之间的转换方法。 4. 浮点数的表示...

    计算机硬件基础知识.pdf

    计算机硬件基础知识 计算机硬件基础知识是计算机系统的物质基础,包括微型计算机的基本结构硬件、微处理器、内存储器、外存储器、输入设备、输出设备等。微型计算机的基本结构硬件是由电子器件和机电装置组成的...

    信息与计算机基础知识.pdf

    计算机基础知识涵盖了许多方面,包括信息表示、编码、计算机结构、运算方式以及信息技术的发展。以下是基于给定内容的一些关键知识点的详细说明: 1. **ASCII码**:ASCII码是一种标准字符编码,用于表示128种不同的...

Global site tag (gtag.js) - Google Analytics