c/C++二进制运算符

  c/c++中常用的二进制运算符有六个.这里对这六个做简单的介绍和应用举例.

  1.  &  :  与操作.作用于两个二进制数,当然也可以对整型数据进行操作(当两边为整型数据会自动转化为二进制数).二进制与用来对位进行置零或者复位.如果两个值进行二进制与,只有当两个对应的位都为1时结果位上为1,其他情况都为0.如下:

      01011001 & 00101001

      结果为:00001001

  2. | :或操作.和1的与操作类似.用来合并值.只有当两个对应位都为0,结果位为0,其他情况都为1.例如:

      01011001 | 00101001

      结果为:01111001

  3. ^ :异或操作.这个运算符当两个值在某一位上相同时结果位为0,不同结果为1.如一个是1一个是0,结果位是1;两个都为1或者0结果位是0;例如:

      01011001^00101001

      结果为:01110000

  4.~ :求补操作.这个运算符只对一个二进制数据进行操作,对该数每一位取反,即1变为0;0变为1.例如:

    ~01011001

    结果为:10100110

  最后两个为移位操作符.这两个操作符用来对一个值中的位左移或右移某个特定数字的位数.">>"右移操作."<<"左移操作.例如:

    01011001>>2  01011001<<2

    结果为:0010110  01100100

  用来填补两端空出来的位的数字会根据操作系统的不同而有所不同,一般情况下都是用0补充.

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏javathings

Java 中,什么是字符串的不可变性?

字符串的不可变性是指字符串一旦被创建,就会在堆上生成这个字符串的实例,并且不可被改变,任何方法都不会改变字符串本身,而只会创建一个新的字符串。

2863
来自专栏python学习之旅

算法学习笔记(三):冒泡排序和归并排序

1043
来自专栏云霄雨霁

Java虚拟机--运行时栈帧结构

2436
来自专栏专注 Java 基础分享

虚拟机字节码执行引擎

所谓的「虚拟机字节码执行引擎」其实就是 JVM 根据 Class 文件中给出的字节码指令,基于栈解释器的一种执行机制。通俗点来说,也就是 JVM 解析字节码指令...

4258
来自专栏闻道于事

Java之StringBuffer,StringBuilder,Math,Date,SimpleDateFormat,UUID,File

java.lang  类 StringBuffer java.lang.Object java.lang.StringBuffer 所有已实现的接口:...

3976
来自专栏软件开发 -- 分享 互助 成长

访问者模式

一、简介 1、访问者模式表示一个作用于某对象结构中各元素的操作。它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。 2、模式中的成员角色 访问者(...

1825
来自专栏web前端教室

重学javascript 红皮高程(3)

继续啊,继续JS基础知识补全之路。 昨天说到JS的几种数据类型,像我这种脑子不太好使,记不清JS共有几种对象的人,可以这么记,JS这东西根本不支持自定义类型,所...

2209
来自专栏Golang语言社区

Golang语言之异常处理

在编写Go语言代码的时候,我们应该习惯使用error类型值来表明非正常的状态。作为惯用法,在Go语言标准库代码包中的很多函数和方法也会以返回error类型值来表...

34913
来自专栏程序员互动联盟

【编程基础】Java里面如何对字符串排序?

前几天有同学在群里问一个Java面试题,上面的思路很正确大概分为几步: 1、分割字符串: 用到的方法是String类的 public String[] spl...

6569
来自专栏csxiaoyao

LESS 学习demo

3637

扫码关注云+社区

领取腾讯云代金券