热门标签 | HotTags
当前位置:  开发笔记 > 程序员 > 正文

一篇文章教你在C++中操作符可分为哪几种类和用法_C语言

这篇文章主要介绍了C++编程中操作符的种类和用法,是C++入门学习中的基础知识,需要的朋友可以参考下,

前篇

在上一篇中,我们讲了算数操作符,移位操作符,我们还顺带着把几个知识点重新给大家讲了一遍,相信有了上篇的基础,这节课上起来会特别的轻松吧。

正片开始

这篇我来给大家讲解,什么叫位操作符,什么又叫赋值操作符。

首先,那么我们先讲概念,什么叫做位操作符呢?操作的又是那个位?这里操作的是二进制位。位操作符就是把二进制的数字按照规定好的程序执行起来。

这里的符号有:

符号 代表的含义
& 按位与
| 按位或
^ 按位异或

按位与:

那么我们先来讲按位与,我们来举个例子:

在这里插入图片描述

就比如这个,因为这里 3 的二进制位为:011

5 这里的二进制位为:101

在这里,我们称:0为假,1为真

按位与的时候,就是一假为假,全真则真。那么,意思就是:

在这里插入图片描述

这里我们算出来结果是001,我们在把这个二进制数字转换为十进制数字结果是1,现在就可以在程序中调试出这个数字。我们来看一下调试结果。

按位与

答案是肯定的。

按位或:

先举个栗子,我们经常说,甲或者乙来帮忙都可以,那么这句话的意思就是甲来了,乙就可以不用来,乙来了,甲也就可以不用来。按位或也是相同的道理,写法和按位与一致只不过把&换成|,我们可以按照按位与来分析一下按位或的工作原理。大同小异。

它也有口诀:有真则为真,全假则为假。我们仍然以3,5举个鲜明的例子来给大家看一下:

按位或

这里二进制数为111,转换十进制数为 :7

我们一传代码看一下答案。

按位或

由此发现,上述正确。

按位异或:

接下来,我们来讲最后一个知识点:按位异或

有的小白心里就会说,可以仿照前面两种形式的概念,我们可以去猜,按位异或是什么。

答案是可以的。

按位与是:一假全假,全真则真。

按位或是:有真为真,全假则假。

那么,有的小白就会想到会不会是:全真则假,全假为真呢?这个猜想一半是错误的。

按位异或的计算方式是:对应二进制位相同则为假,对应二进制位相异则为真 。那么这是什么意思呢?我们来看一下。

按位异或

我们可以看到,输出的结果是:110 转换十进制数字为 6

我们看一下实际操作的答案:

在这里插入图片描述

答案完全相等!!!

我给大家在梳理一下本篇的口诀,这样大家在学习的时候会事半功倍。

按位与:一假全假,全真则真。

按位或:有真为真,全假为假。

按位异或:相异为真,相同为假。

总结


推荐阅读
  • 本文详细介绍了笔记本电脑上多种实用的快捷键,包括屏幕调整、图形设置、分辨率更改、驱动更新、导航操作、音量控制及屏幕锁定等,旨在帮助用户更高效地使用笔记本电脑。 ... [详细]
  • 本文介绍了在Linux环境下如何有效返回命令行状态、上一级目录及快速查找头文件和函数定义的方法。包括处理长时间运行命令、编辑器退出技巧、目录导航以及文件搜索策略。 ... [详细]
  • 流处理中的计数挑战与解决方案
    本文探讨了在流处理中进行计数的各种技术和挑战,并基于作者在2016年圣何塞举行的Hadoop World大会上的演讲进行了深入分析。文章不仅介绍了传统批处理和Lambda架构的局限性,还详细探讨了流处理架构的优势及其在现代大数据应用中的重要作用。 ... [详细]
  • 汇编语言:编程世界的始祖,连C语言都敬畏三分!
    当C语言还在萌芽阶段时,它首次接触到了汇编语言,并对其简洁性感到震惊。尽管汇编语言的指令极其简单,但它却是所有现代编程语言的基础,其重要性不言而喻。 ... [详细]
  • 深入理解云计算与大数据技术
    本文详细探讨了云计算与大数据技术的关键知识点,包括大数据处理平台、社会网络大数据、城市大数据、工业大数据、教育大数据、数据开放与共享的应用,以及搜索引擎与Web挖掘、推荐技术的研究及应用。文章还涵盖了云计算的基础概念、特点和服务类型分类。 ... [详细]
  • VSCode 切换 Python 虚拟环境时遇到脚本执行权限问题
    本文介绍了解决在 VSCode 中切换 Python 虚拟环境时出现的‘无法加载文件 E:Python_projectshop_envScriptsActivate.ps1,因为在此系统上禁止运行脚本’的问题的方法。 ... [详细]
  • 本教程介绍如何在C#中通过递归方法将具有父子关系的列表转换为树形结构。我们将详细探讨如何处理字符串类型的键值,并提供一个实用的示例。 ... [详细]
  • 每种编程语言都有其独特的完成任务的方式,这也说明了为什么有这么多语言可供选择。在JimHall的《不同的编程语言如何完成相同的事情》文章中,他演示了13种不同的语言如何使用不同的语 ... [详细]
  • 利用线段树高效处理数组区间修改及查询问题
    本文探讨了如何利用线段树技术实现对数组任意区间元素的高效修改、增加以及求和操作,确保所有这些操作的时间复杂度均保持在O(logN)级别。文章详细介绍了线段树的构建、预处理、初始化以及各种操作的具体实现。 ... [详细]
  • 在Qt框架中,信号与槽机制是一种独特的组件间通信方式。本文探讨了这一机制相较于传统的C风格回调函数所具有的优势,并分析了其潜在的不足之处。 ... [详细]
  • 本文详细介绍了如何在 Node.js 环境中利用 Nodemailer 库实现邮件发送功能,包括环境配置、代码实现及常见问题解决方法。 ... [详细]
  • 解决Win10系统更新后无法找到恢复环境的问题
    本文介绍了如何在Windows 10系统更新后遇到‘找不到恢复环境’错误时,通过重置系统或更新到最新官方版本来解决问题的方法。 ... [详细]
  • HTML前端开发:UINavigationController与页面间数据传递详解
    本文详细介绍了如何在HTML前端开发中利用UINavigationController进行页面管理和数据传递,适合初学者和有一定基础的开发者学习。 ... [详细]
  • 本文详细介绍了如何在Apache Kafka中进行Topic级别的配置,包括创建、修改和删除配置参数的具体步骤,并提供了详细的配置属性表。 ... [详细]
  • 本文详细介绍了Windows网络编程中常用的几个关键结构体,包括sockaddr_in、in_addr和hostent,解释了它们的定义和用途,并提供了实际应用中的示例。 ... [详细]
author-avatar
小英
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有