`
java-mans
  • 浏览: 11418436 次
文章分类
社区版块
存档分类
最新评论

位操作详解

 
阅读更多

位操作详解

我们先来看看位运算操作符:& (按位与)、| (按位或)、^ (按位异或)、~ (按位取反)、>> (按位右移)、<< (按位左移)。

1、&(按位与) 从概念上来讲,就是将参与运算的两个分量对应的每一位来做逻辑与运算,若两者都为真(等于1),则结果才为真(等于1)。否则都为假(等于0)。
即:1 & 1 = 1 、1&0 = 0 、0&1 = 0、0&0 = 0
这里我们先来看看那一个8位二进制的例子:
7&8 = 0000 0111 & 0000 1000 = 0000 0000 = 0
7&6 = 0000 0111 & 0000 0110 = 0000 0110 = 6

2、| (按位或) 即把参与运算的每个分量对应的每一位来做逻辑或运算,即两者都为假(为0)时,才为假(为0),否则皆为真。
即:0|0 = 0、1|0 = 1、0|1 = 1、1|1 = 1
来看看8位二进制的例子:
7|8 = 0000 0111 | 0000 1000 = 0000 1111 = 15
7|6 = 0000 0111 | 0000 0110 = 0000 0111 = 7

3、^(按位异或) 即把参与运算的每个分量对应的每一位来做异或运算,即两者相同为假,不同为真。
即:0|0 = 0、 1|0 = 1、0|1 = 1、 1|1 = 0
看下面的例子:
7^8 = 0000 0111 ^ 0000 1000 = 0000 0111 = 7
7^6 = 0000 0111 ^ 0000 0100 = 0000 0011 = 3

4、~(按位取反) 即把二进制位的每一位进行取反运算,简而言之就是1变成0,0变成1。
直接看例子:
~7 = ~0000 0111 = 1111 1000 = 248

5 >>(按位右移)把二进制位整体向右移动。
7>>1 = 0000 0111 >> 1 = 0000 0011 = 3
7>>2 = 0000 0111 >> 2 = 0000 0001 = 1
这里右移等于除了2的N次方,N为右移的位数。

6 <<(按位左移)这里就不详细说了,和右移相反。


分享到:
评论

相关推荐

    STM控制器位带操作详解PPT课件.pptx

    STM控制器位带操作详解PPT课件.pptx

    计算机操作系统 7套 期末考试题+ 答案详解 吐血上传

    计算机操作系统 7套 期末考试题+ 答案详解 吐血上传计算机操作系统 7套 期末考试题+ 答案详解 吐血上传计算机操作系统 7套 期末考试题+ 答案详解 吐血上传计算机操作系统 7套 期末考试题+ 答案详解 吐血上传计算机...

    易语言注册表操作详解(微尘)

    资源介绍:。易语言注册表操作详解(微尘),源码演示的是易语言注册表操作,建立注册表项,建立字符串型,整数型,字节集型键,注册表项检查,删除等。资源作者:。newmonk。资源界面:。资源下载:。

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

    正在学习位运算的人群

    全面的各类RAID详解

    利用同位检查(Parity Check)的观念,在数组中任意一个硬盘故障时,仍可读出数据,在数据重构时,将数据经计算后重新置入新硬盘中。 相同的数据存储在多个硬盘的不同的地方的方法。通过把数据放在多个硬盘上(冗余...

    详解Java的按位操作符

    Java的位操作符用来操作整数基本数据类型中的单个“比特”(bit),即代进制位。下面通过本文给大家分享Java的按位操作符,感兴趣的朋友一起看看吧

    SQL Server 2012安装详解另附图

    64位操作系统:CHS\x64\SQLManagementStudio_x64_CHS.exe 32位操作系统:CHS\x86\SQLManagementStudio_x86_CHS.exe 2. 下载安装SQL Server 2012 www.2cto.com 64位操作系统:CHS\x64\SQLEXPR_x64_CHS.exe ...

    BMP图片文件详解.pdf

    BMP图片文件详解.pdf 如今 Windows(3.x 以及95,NT)系列已经成为决大多数用户使用的操作系统。它比DOS 成功的一个重要因素是它可视化的漂亮界面, 例如你可以在桌面上铺上你喜欢的墙纸。那么 Windows 是如何显示...

    详解Java的位操作符

    位操作就是对这些数据进行基本的操作。如果基本类型是char、byte或者short类型的数值进行移位处理,那么会转化成int类型,再进行移位的处理

    单片机期末考试题目及答案详解

    对记数溢出的处理,在中断方式时,该位作为 位使用;在查询方式时,该位作为 位使用。 21.在定时器工作方式0下,计数器的宽度为 位,其记数范围为 ,如果系统晶振频率为6MHZ,则最大定时时间为 。 22.利用定时器...

    Centos 64位PHP5.4 Apache Web云服务器操作文档详解

    6、软件操作命令汇总 7、开机自启动 8、环境变量 9、系统变更列表 10、更多支持和帮助 11、关于卸载 12、附录教程一:部署网站 13、附录教程二:将网站迁移至数据盘 14、附录教程三:将MYSQL迁移至数据盘中 ...

    32位与64的不同详解

    Microsoft Windows64位(x64)操作系统,相对于32位(x86)操作系统的最大优势和劣势是什么

    易语言位取反操作详解

    在本篇内容里我们给大家整理了关于易语言位取反实例讲解内容,有兴趣的朋友们跟着学习下。

    TCPIP协议详解(4-1)

    IPv6 87 10.1 IPv6数据报 87 10.1.1 优先级分类 88 10.1.2 流标识 89 10.1.3 128位IP地址 89 10.1.4 IP扩展头 90 10.2 多IP地址主机 91 10.3 单播、组播和任一播头 91 10.4 从IPv4到IPv6的...

    VHDL语言100例详解 程序代码

    加、减、乘指令的译码和操作 吴清平(245) 第58例?2-4译码器结构描述 刘沁楠(248) 第59例?2-4译码器行为描述 吴清平(255) 第60例?转换函数在元件例示中的应用 王作建(258) 第61例?基于同一基类型的两分辨类型...

    Python基于Tensor FLow的图像处理操作详解

    本文实例讲述了Python基于Tensor FLow的图像处理操作。分享给大家供大家参考,具体如下: 在对图像进行深度学习时,有时可能图片的数量不足,或者希望网络进行更多的学习,这时可以对现有的图片数据进行处理使其变成...

    redis通过位图法记录在线用户的状态详解

    位操作分为两组:常量时间单个位的操作,像设置一个位为 1 或者 0,或者获取该位的值。对一组位的操作,例如计算指定范围位的置位数量。 位图的最大优势是有时是一种非常显著的节省空间来存储信息的方式。例如,在一...

    make和Makefile详解 一起写Makefile

     如果在执行command命令时返回了一个非"0"的出错信号,例如makefile文件中出现了错误的目标文件名或者出现了以连字符打头的命令字符串,make操作一般会就此终止,但如果make后带有"-i"参数,则make将忽略此类出错...

    《Android自定义组件开发详解》

    4.4.4 撤消操作 111 4.4.5 图形绘制 113 4.4.6 绘图区 118 4.4.7 主界面 119 4.5 练习作业 122 第五章 阴影、渐变和位图运算 123 5.1 概述 123 5.2 阴影 123 5.3 渐变 125 5.3.1 线性渐变(LinearGradient) 126 ...

    TCP-IP详解卷二 实现(高清书签版).part2.rar

    W.Richard Stevens(1951-1999)是一位非常受人尊敬的专家,除了《TCP/IP详解》三卷本外,他还有其他两部最为畅销的作品;《UNIX环境高级编程》和《UNIX网络编程》(两卷本)。 目录 译者序 前言 第1章 概述  ...

Global site tag (gtag.js) - Google Analytics