`
hekuilove
  • 浏览: 158180 次
  • 性别: Icon_minigender_1
  • 来自: 魔都
社区版块
存档分类
最新评论

二进制移位

阅读更多
首选我先说下什么是2进制、和16进制
2进制:2进1,通过1和0两个数字来表示一个整形数字
16进制:16进1,通过0、2、3、4、5、6、7、8、9、a、b、c、d、e、f来表示一个数字

2进制里如何表示0-10这个数字呢
2进制:0、1、10、11、100、101、110、111、1000、1001、1010
16进制里如何表示0-17的数字呢
16进制:0x0、0x1、0x2、0x3、0x4...0x9、0xa、0xb、0xc、0xd、0xe、0xf、0x10、ox11
(如果这个规律看不懂那就自己面壁去吧)

我来解释下在程序里出现的a<<b、a>>b 这种方式就是二进制移位运算,也是一种最高效的运算方式,根据以上提供的2进制规律进行移位,a<<b是指a的2进制位向左移动b位.a>>b是指a的2进制位向右移动b位。
我举个简单例子:2<<1 1<<2 7>>2 5>>3(我这里列举一个比较小的数字比较容易懂)
根据以上提供的数字0-10的2进制位可以知道整数2的2进制位是10,2<<1的意思是二进制位往左移1位。10往左移1位的结果是100(右边加一个0),100正好是整数4的2进制位。所以2<<1的运算结果是4。
1<<2,1的2进制位是1,1向左移两位就是100,也是4。所以1<<2的运算结果也是4
7>>2,7的2进制位是111,向右移动2位的结果是1,1正好是整数1的2进制位 所以7>>2的运算结果是1
5>>3,5的2进制位是101,向右移动3位的后就没了。没了就用0表示,0正好是整数0的2进制位。所以5>>3的运算结果是0

分享到:
评论

相关推荐

    电子政务-基于二进制移位编码的光电式位置检测装置.zip

    在这个特定的压缩包文件中,“基于二进制移位编码的光电式位置检测装置”是电子政务领域内一个重要的技术应用,它涉及到自动化、传感器技术和数据处理等方面的知识。 光电式位置检测装置是一种利用光电信号转换原理...

    二进制移位除法(汇编,4字节)

    二进制4字节移位除法AVR汇编程序,通用型,

    二进制位操作演示小工具

    二进制位操作是计算机科学中的基础概念,它在编程中扮演着至关重要的角色,特别是在低级别语言如C和C++以及嵌入式系统中。这个"二进制位操作演示小工具"是为了帮助用户直观地理解并实践这些操作而设计的。下面,我们...

    二进制计数器

    `bincalc`通过其功能强大的界面,帮助我们轻松地在二进制、十进制和十六进制之间转换,并提供了对二进制移位操作的直观体验。掌握这些基础知识不仅对于计算机编程,对于理解计算机系统的工作原理也是至关重要的。

    Windows关于整数二进制位移运算的MFC程序源代码

    在编程领域,特别是C语言和其派生的MFC(Microsoft Foundation Classes)框架中,整数的二进制位移运算是一种重要的算术操作。位移运算符在处理位模式、数据存储、位掩码以及优化计算等方面发挥着关键作用。本程序源...

    bfsk 调制:通过二进制移位键控调制数据-matlab开发

    **二进制移位键控(BFSK)调制技术** 二进制移位键控(Binary Frequency Shift Keying,简称BFSK)是一种数字调制方式,它通过改变载波频率来传输二进制数据。在BFSK中,通常有两个不同的载波频率,分别代表二进制...

    《有趣的二进制》附书源码

    对于二进制减法,如果不够减,需要向高位借位,而二进制除法则较为复杂,通常通过移位和减法来实现。 二进制在计算机中的应用: 1. 数据存储:计算机内存和硬盘上的所有信息都是以二进制形式存储的。例如,一个字节...

    二进制转换工具Ucode Ease++

    原创软件,MFC做的界面,可以任意将32位,2进制、10进制、16进制之间进行转换,取位、移位等等,简单、实用、方便,欢迎光临各位使用

    C++ 二进制运算

    本文将深入探讨C++中的二进制运算,包括按位与、按位或、按位异或、按位取反以及移位运算等核心操作,并通过具体实例来阐述它们的工作原理及应用场景。 #### 按位与运算 (&) 按位与运算符`&`用于比较两个数的二...

    excel二进制格式

    Excel二进制格式,主要指的是Microsoft Excel的一种存储方式,它以二进制文件(BINARY FILE FORMAT,简称BIFF)的形式保存数据。这种格式在早期版本的Excel中就已经出现,并一直沿用到现代版本,特别是在Excel 97到...

    python实现位操作 Bit Manipulation 课程设计

    二进制移位 二进制二进制补码 二进制异或运算符 计数 1S 布赖恩·克尼汉方法 计算 1 位数 格雷码序列 最高设置位 最右边设置位的索引 是偶数 是 2 的幂 数字不同的符号 反向钻头 单比特操作操作 ...

    java基于移位操作实现二进制处理的方法示例

    Java语言中的移位操作是处理二进制数据时非常高效且强大的工具,它涉及到计算机底层的位运算。本文将深入探讨如何使用Java的移位操作来处理二进制,并通过示例代码展示其实现方法。 首先,我们来看一下Java中的移位...

    python实现整数的二进制循环移位

    题目:如何在python中实现整数的二进制循环移位? 概述 在python中,可以通过&lt;&lt;以及&gt;&gt;运算符实现二进制的左移位以及右移位,然而并没有实现循环移位的运算符,暂时也找不到可以实现循环移位的函数,所以在本文...

    quartus八位移位寄存器仿真文件

    在Quartus II软件制作,使用Quartus II的电路仿真功能,制作的八位移位寄存器电路设计,电路设计使用74ls74触发器制作。Quartus II仿真可以使用波形仿真功能,便于学习理解。 笔者也是初学者,先熟悉电路仿真部分,...

    C语言二进制除法用左右移位来表示.txt

    根据提供的文件信息,本文将详细解释C语言中利用二进制位移操作实现除法的原理及具体应用案例。此方法不仅有助于理解计算机底层运算机制,还能在特定场景下优化程序性能。 ### 一、基本原理:二进制位移表示乘除法 ...

    数字电路-四位二进制乘法器课程设计

    【四位二进制乘法器】是数字电路中一种重要的逻辑设计,主要用于实现二进制数的乘法运算。在本课程设计中,学生需要设计一个能够处理4位二进制数乘法的电路,这涉及到对时序逻辑电路的理解和应用。时序逻辑电路是一...

    8位二进制转BCD码.docx

    二进制转换为十进制的逻辑电路使用了一个 18 位的移位寄存器 `shift_reg`,它将输入的 8 位二进制数据与十进制数值进行比较,并执行移位操作以实现二进制转换为十进制的功能。在这个过程中,我们使用了一个计数器 `...

    Multisim数字模拟电路仿真实例源文件- 八位二进制转三位十进制电路.zip

    2. **二进制到十进制转换器**:这是电路的核心部分,它可能包括加法器、移位寄存器、逻辑门(如AND、OR、NOT和XOR)等组件,将二进制数转换成对应的十进制数。 3. **十进制显示**:转换后的十进制数通过七段显示器或...

Global site tag (gtag.js) - Google Analytics