`
luochuang
  • 浏览: 24144 次
  • 性别: Icon_minigender_1
  • 来自: 成都
最近访客 更多访客>>
社区版块
存档分类
最新评论

位运算

阅读更多

原码、反码、补码

 

计算机在底层存储数据的时候,一律存储的是 “二进制的补码形式”

 

其中正数的原码 = 反码 = 补码

 

一个负数的表示是:负数的绝对值取原码,再取反码,再加一,最后出现的就是这个负数在内存中的表示的二进制数值。

 

比如-9在内存中的二进制值为1 1 1 1 0 1 1 1

 

【图】用图片告诉你Java中的位运算

 

 

位运算

 

&

参与运算的数字,低位对齐,高位不足的补零,如果对应的二进制位同时为 1,那么计算结果才为 1,否则为 0。因此,任何数与 0 进行按位与运算,其结果都为 0。

【图】用图片告诉你Java中的位运算

|

参与运算的数字,低位对齐,高位不足的补零。如果对应的二进制位只要有一个为 1,那么结果就为 1;如果对应的二进制位都为 0,结果才为 0。

【图】用图片告诉你Java中的位运算

^

参与运算的数字,低位对齐,高位不足的补零,如果对应的二进制位相同(同时为 0 或同时为 1)时,结果为 0;如果对应的二进制位不相同,结果则为 1。

【图】用图片告诉你Java中的位运算

~

只对一个操作数进行运算,将操作数二进制中的 1 改为 0,0 改为 1。

【图】用图片告诉你Java中的位运算

 

 

 移位运算

 

丢弃左边(高位)指定位数,右边(低位)补 0。

 

 

 

 

丢弃左边(高位)指定位数,右边(低位)补 0。

 

左移1位后换算成十进制的值为:1466367340,刚好是733183670的两倍, 有些人在乘2操作时喜欢用左移运算符来替代。

 

 

 

 

https://www.likecs.com/show-204569567.html 

https://zhuanlan.zhihu.com/p/436446666

 

 

 

 

 

 

分享到:
评论

相关推荐

    c语言中用位运算实现加法技巧介绍

    在C语言中,位运算是一种高效的操作方式,尤其在处理底层数据和算法优化时非常有用。本文主要讨论如何使用位运算来实现加法操作,这是一个基础但重要的概念,尤其是在理解计算机内部运算机制时。 首先,我们要知道...

    老生常谈PHP位运算的用途

    位运算是计算机科学中的基础概念之一,它直接操作整数的二进制位。在编程语言如PHP中,位运算可以用于多种用途,提高代码的效率。在PHP中,常用的位运算符包括&(位与运算符)、|(位或运算符)、^(位异或运算符)...

    位运算详解(通过excel表格详细对位运算进行讲解)

    正在学习位运算的人群

    图文详解C语言位运算基础知识

    C语言位运算基础知识是编程中一个重要的概念,它涉及到计算机底层数据处理的细节。在C语言中,位运算是直接对整数在内存中的二进制表示进行操作,这种操作可以用于高效地进行某些特定计算,例如位设置、位清除、位...

    通过SQL Server的位运算功能巧妙解决多选查询方法

    在SQL Server中,位运算是一种高效的数据处理方式,尤其在处理多选查询场景时,可以显著提高查询效率。本文将深入探讨如何利用位运算来解决多选查询的问题,并提供一个标准的解决方案。 首先,我们要理解位运算的...

    JS通过位运算实现权限加解密

    在JavaScript中,位运算是一种底层操作,通常用于处理二进制数据。在权限加解密的场景中,位运算能够高效地实现权限的设置、检查和组合,尤其适用于多权限系统。下面我们将深入探讨如何利用位运算来实现权限管理。 ...

    使用位运算计算LOG2

    使用位运算计算LOG2 LOG2是数学中一个常用的函数,用于计算一个数字的对数。然而,在计算机科学中,我们更关心的是如何使用位运算来计算LOG2。位运算是一种快速且高效的运算方法,可以用于加速很多复杂的操作。下面...

    位运算实现贪吃蛇

    本游戏采用位运算编写,虽然代码只有仅仅几行,但是却实现了游戏的各种功能。

    PHP巧妙利用位运算实现网站权限管理的方法

    通过位运算,我们可以高效地组合和检查不同权限,而不需要创建复杂的逻辑结构。 首先,我们需要定义一系列代表不同权限的常量。在这个例子中,我们定义了四个常量:ADD(1),UPD(2),SEL(4)和DEL(8)。这些...

    位运算实现十进制转换为二进制

    位运算在计算机科学中扮演着重要的角色,它们是计算机硬件和软件进行低级别操作的基础。在本主题中,我们将深入探讨如何使用位运算将十进制数转换为二进制数。位运算主要包括与(&)、或(|)、非(~)、异或(^)...

    用位运算不用算术运算实现整数的加减乘除运算

    位运算在计算机科学中是一种非常基础且高效的运算方式,它主要涉及到对数字的二进制表示进行操作。本文将探讨如何仅使用位运算而非传统的算术运算符来实现整数的加减乘除运算。 首先,我们来看加法。加法可以被分解...

    Python 刷题笔记:位运算专题一

    在深入位运算之前,我们需要先理解计算机中的二进制表示以及原码、反码和补码的概念。 原码是数字的直接二进制表示,其中最高位(最左边的位)是符号位,0代表正数,1代表负数。例如,正数4在32位二进制下的原码为...

    位运算例程

    位运算在计算机科学中扮演着至关重要的角色,尤其是在低级编程和硬件交互中。"一参多义"这个概念在位运算中体现为一个操作数可以通过不同的位运算符产生多种含义和结果。以下是对位运算及其相关知识点的详细阐述: ...

    详谈Java中的二进制及基本的位运算

    Java 中的二进制及基本的位运算 Java 中的二进制是计算技术中广泛采用的数制,使用 0 和 1 两个数码来表示数。Java 中的二进制数据主要是以补码的形式存储的。计算机中的二进制是一个非常微小的开关,用“开”来...

    C#枚举中的位运算权限分配浅谈

    常用的位运算主要有与(&), 或(|)和非(~), 比如: 1 & 0 = 0, 1 | 0 = 1, ~1 = 0 在设计权限时, 我们可以把权限管理操作转换为C#位运算来处理. 第一步, 先建立一个枚举表示所有的权限管理操作: 代码如下:[Flags] ...

    位运算快入门

    位运算快入门的ppt, 从进制到位运算 包括常用技巧,让位运算学起来非常简单

    APP INVENTORE位运算

    APP INVENTORE按位与、按位或、异或运算

    位运算题目之计算1的个数(

    位运算题目之计算1的个数

    位运算.docx

    位运算在计算机科学中扮演着重要的角色,尤其是在底层编程和高效算法实现中。位运算符包括与(&), 或(|), 异或(^), 取反(~), 左移()和右移(>>)。这些操作符直接作用于二进制数的每一位,由于它们直接在硬件级别操作,...

Global site tag (gtag.js) - Google Analytics