当前位置: 首页 > news >正文

C语言中操作符详解(一)

众所周知,在我们的C语言中有着各式各样的操作符,并且在此之前呢,我们已经认识并运用了许许多多的操作符,都是诸君的老朋友了昂

操作符作为我们使用C语言的一个非常非常非常重要的工具,诸君一定要加以重视,认真理解,学会灵活运用。那么今天,我们就来系统的讲解一下C语言中的各式操作符

一 . 操作符的分类

(1) 算术操作符: +   -   *   /   %
(2) 移位操作符:   <<  、 >>
(3) 位操作符:    &  、|  、 ^
(4) 赋值操作符:    =   +=   -=   *=   /=   %=   <<=   >>=   &=   |=   ^=
(5) 单目操作符: !、 ++   --   &   *   +   -   ~   sizeof   ( 类型 )
(6) 关系操作符:   > >=   <   <=   ==   !=
(7) 逻辑操作符: &&   ||
(8) 条件操作符: ?  :
(9) 逗号表达式: ,
(10) 下标引用:   [ ]
(11) 函数调用: ( )  
(12) 结构成员访问:   .   ->  

以上为诸君罗列了一些在C语言中我们常用的操作符,在此之前,我们已经介绍过了算术操作符、赋值操作符、逻辑操作符、条件操作符和一部分单目操作符

不知道的诸君呢,可以移步到以下链接看看哦

 算术、赋值、复合赋值、单目操作符:C语言中的操作符-CSDN博客

关系、条件、逻辑操作符:关系操作符,条件操作符与逻辑操作符_关系模式操作符-CSDN博客

在讲操作符之前呢,我们需要铺垫一下,所以我们先来认识一下C语言中的原码、反码、补码

二 . 原码、反码、补码

众所周知,计算机用的都是二进制运算法,而在我们的计算机系统中,整数的二进制的表达方式有三种,这就是我们的原码、反码、补码

我们整数分为有符号整数无符号整数是吧,通俗点儿说,就是有负号的只有正整数的,那么在这其中,有符号整数的三种表达方式均有符号位数值位两部分,在二进制序列中,最高位的 1 位是被当做符号位,剩余的都是数值位

符号位用 “ 0 ” 表示 “ 正 ”,用 “ 1 ” 表示 “ 负 ”

正整数的原码、反码、补码都相同负整数的原码、反码、补码表达方式各有不同

(1)原码

直接将数值按照正负数的形式翻译成二进制,得到的32位数就是该数的原码

(2)反码

原码最高的符号位不变,其他位置依次按位取反(0变1,1变0),就可以得到反码

(3)补码

反码 + 1 就可以得到补码

补码可以通过取反、 + 1 的操作得到原码

对于整形来说:数据存放在计算机内存中其实质就是存放的补码

三 . 移位操作符

左移操作符: <<

右移操作符: >>

(移位操作符只能作用于整数)

(1)左移操作符

移位准则:左边抛弃,右边补 0 

左移操作符图解:

(2)右移操作符

移位准则:(右移运算分为两种)

1 . 逻辑右移:右边抛弃,左边填 0

2 . 算术右移:右边抛弃,左边用原该值的符号位填充

由此可见,我们VS中默认用的应该是算术右移的准则

逻辑右移图解:

算术右移图解:

注意:对于移位运算符的运用,只能进行移动正单位的操作,不能左移(右移)- 1 单位,这不能代表右移(左移)- 1 个单位

OKK,有关部分操作符的知识点今天就讲到这里,欲知后事如何,且听下回分解,咱们下期见!与诸君共勉!!!

相关文章:

C语言中操作符详解(一)

众所周知&#xff0c;在我们的C语言中有着各式各样的操作符&#xff0c;并且在此之前呢&#xff0c;我们已经认识并运用了许许多多的操作符&#xff0c;都是诸君的老朋友了昂 操作符作为我们使用C语言的一个非常非常非常重要的工具&#xff0c;诸君一定要加以重视&#xff0c;…...

【论文阅读】Multi-Camera Unified Pre-Training via 3D Scene Reconstruction

论文链接 代码链接 多摄像头三维感知已成为自动驾驶领域的一个重要研究领域&#xff0c;为基于激光雷达的解决方案提供了一种可行且具有成本效益的替代方案。具有成本效益的解决方案。现有的多摄像头算法主要依赖于单目 2D 预训练。然而&#xff0c;单目 2D 预训练忽略了多摄像…...

深入了解NumPy的原理与使用

文章目录 一、引言二、NumPy的原理1. 多维数组对象2. 广播&#xff08;Broadcasting&#xff09;3. 内存效率和速度 三、NumPy的使用1. 创建数组2. 数组操作3. 广播&#xff08;Broadcasting&#xff09;示例 四、总结 一、引言 在Python的数据科学和科学计算领域&#xff0c;…...

Linux Centos 环境下搭建RocketMq集群(双主双从)

1、下载rocketmq的包 下载 | RocketMQ 2、配置环境变量 1、编辑环境变量文件&#xff1a;vim /etc/profile2、加入如下配置&#xff1a; #rocketmq 4.9.8 ROCKETMQ_HOME/home/rocketmq/rocketmq-4.9.8 export PATH${ROCKETMQ_HOME}/bin:${PATH}3、刷新配置&#xff1a;source…...

全网最全postman接口测试教程和项目实战~从入门到精通

Postman实现接口测试内容大纲一览&#xff1a; 一、什么是接口&#xff1f;为什么需要接口&#xff1f; 接口指的是实体或者软件提供给外界的一种服务。 因为接口能使我们的实体或者软件的内部数据能够被外部进行修改。从而使得内部和外部实现数据交互。所以需要接口。 比如&…...

【ARM】MDK Debug模式下Disassembly窗口介绍

【更多软件使用问题请点击亿道电子官方网站】 1、 文档目标 主要了解Disassembly窗口中包含的内容&#xff0c;和如何利用Disassembly中的内容了解程序的存储和调用情况。 2、 问题场景 对于Disassembly窗口中具体包含的内容不了解&#xff0c;无法合理地应用Disassembly窗口…...

灵活的招聘管理系统有五种方法帮助成功招聘

还记得以前的时代吗&#xff1f;这取决于你的年龄&#xff0c;直到智能手机、流媒体电视和电子邮件出现。今天&#xff0c;任何活着的成年人都经历了技术上的巨大变化&#xff0c;这创造了一种新的行为方式。人才获取也是如此。 一个值得推荐的招聘管理系统 招聘团队被困在满足…...

美摄科技匿名化处理解决方案,包含模糊、同色、马赛克、效果遮挡等各种形式

信息安全已成为企业发展中不可忽视的重要一环&#xff0c;随着信息安全法规的日益严格和公众对个人隐私保护意识的不断提高&#xff0c;企业如何在保障业务顺畅进行的同时&#xff0c;满足信息安全和隐私保护的要求&#xff0c;成为了亟待解决的问题。美摄科技凭借其强大的技术…...

O2OA的数据库数据库配置-使用不同用户访问Oracle时报错-表或视图不存在

在使用Oracle数据库时&#xff0c;多个O2OA服务器同一个Oracle实例中使用不同的用户启动时&#xff0c;可能会遇到数据库访问的错误。本篇阐述此类问题以及解决方案。 一、先决条件&#xff1a; 1、O2OA已经下载并且解压到指定的目录&#xff1b; 2、Oracle数据库已经完成安…...

leetcode56 合并区间

题目 以数组 intervals 表示若干个区间的集合&#xff0c;其中单个区间为 intervals[i] [starti, endi] 。请你合并所有重叠的区间&#xff0c;并返回 一个不重叠的区间数组&#xff0c;该数组需恰好覆盖输入中的所有区间 。 示例 输入&#xff1a;intervals [[1,3],[2,6]…...

Elasticsearch扩展性探索:水平扩展与集群管理

在当今数据驱动的时代&#xff0c;搜索引擎和数据存储解决方案的重要性不言而喻。Elasticsearch&#xff0c;作为一款基于Lucene构建的开源、分布式、RESTful搜索引擎&#xff0c;凭借其强大的全文搜索、结构化搜索和分析能力&#xff0c;受到了众多企业和开发者的青睐。然而&a…...

node版本过高出现ERR_OSSL_EVP_UNSUPPORTED错误

错误原因&#xff1a; 新版本的nodejs使用的openssl和旧版本不同&#xff0c;导致出错 解决方法&#xff1a; 1.将node版本重新换回16.x 2 windows 下 在package.json文件下添加set NODE_OPTIONS--openssl-legacy-provider && "scripts": {"dev"…...

不得不看的AI前沿理论与技术: LLM-Assisted Light大模型

文章主要介绍最新论文《LLM-Assisted Light: Leveraging Large Language Model Capabilities for Human-Mimetic Traffic Signal Control in Complex Urban Environments》&#xff0c;该论文提出了一种名为LLM-Assisted Light&#xff08;LA-Light&#xff09;的创新方法&…...

流行跨链桥总结

本贴主要总结出现的新跨链桥&#xff0c;简介&#xff0c;及其项目主页&#xff0c;持续更新 1.Cbridge cBridge引入了一流的跨链Token桥接体验&#xff0c;为用户提供了深度流动性&#xff0c;为不想运营cBridge节点的cBridge节点运营商和流动性提供商提供了高效且易于使用的…...

代理网络基础设施 101:增强安全性、速度和可扩展性

编辑代理网络在现代网络架构中发挥着重要作用&#xff0c;充当管理和重新路由数据流的中介。它们处理的数据可以是各种类型&#xff0c;包括搜索查询和潜在的敏感客户信息&#xff0c;这凸显了它们在数据安全方面的作用。 然而&#xff0c;代理的好处不仅限于安全性。它们为用…...

小游戏app看广告app开发案例

游戏APP与看广告APP的开发案例众多&#xff0c;这些案例通常展示了如何通过创新的方式将游戏与广告相结合&#xff0c;实现用户体验与商业利益的双重提升。以下是一些具体的案例&#xff1a; 创意小程序广告案例&#xff1a; 某快餐品牌通过推出一款基于其主打产品&#xff08;…...

VOC数据集

VOC&#xff08;Visual Object Classes&#xff09;格式的数据集是一种用于计算机视觉任务的标准数据集格式&#xff0c;它最初是由Pascal VOC&#xff08;PASCAL Visual Object Classes&#xff09;数据集引入的。VOC数据集格式定义了一套标准化的数据集结构&#xff0c;包括X…...

[Linux内核驱动]内存动态申请

内核空间内存动态申请 更多详细内容可以查看我的github kmalloc() 函数原型&#xff1a; void *kmalloc(size_t size, gfp_t flags);参数说明&#xff1a; size&#xff1a;要分配的内存块的大小&#xff0c;以字节为单位。flags&#xff1a;分配标志&#xff0c;用于指定内…...

在Worpress增加网站的二级目录,并转向到站外网站

在WordPress中&#xff0c;你可以通过添加自定义重定向来实现将某个二级目录&#xff08;例如 www.example.com/subdir&#xff09;重定向到站外网站。可以通过以下几种方法来实现&#xff1a; 方法一&#xff1a;使用 .htaccess 文件 如果你的服务器使用Apache&#xff0c;你…...

torch.max函数

torch.max函数的用法 第一种第二种 官方介绍&#xff1a;Link 有两种使用场景&#xff0c;输入的参数不同以及返回值不同&#xff1a; 第一种 没有参数dim&#xff0c;但这种只适合一维张量。 torch.max(input) → Tensor Returns the maximum value of all elements in the…...

Ubuntu系统下交叉编译openssl

一、参考资料 OpenSSL&&libcurl库的交叉编译 - hesetone - 博客园 二、准备工作 1. 编译环境 宿主机&#xff1a;Ubuntu 20.04.6 LTSHost&#xff1a;ARM32位交叉编译器&#xff1a;arm-linux-gnueabihf-gcc-11.1.0 2. 设置交叉编译工具链 在交叉编译之前&#x…...

macOS多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用

文章目录 问题现象问题原因解决办法 问题现象 macOS启动台&#xff08;Launchpad&#xff09;多出来了&#xff1a;Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用。 问题原因 很明显&#xff0c;都是Google家的办公全家桶。这些应用并不是通过独立安装的…...

【项目实战】通过多模态+LangGraph实现PPT生成助手

PPT自动生成系统 基于LangGraph的PPT自动生成系统&#xff0c;可以将Markdown文档自动转换为PPT演示文稿。 功能特点 Markdown解析&#xff1a;自动解析Markdown文档结构PPT模板分析&#xff1a;分析PPT模板的布局和风格智能布局决策&#xff1a;匹配内容与合适的PPT布局自动…...

React19源码系列之 事件插件系统

事件类别 事件类型 定义 文档 Event Event 接口表示在 EventTarget 上出现的事件。 Event - Web API | MDN UIEvent UIEvent 接口表示简单的用户界面事件。 UIEvent - Web API | MDN KeyboardEvent KeyboardEvent 对象描述了用户与键盘的交互。 KeyboardEvent - Web…...

UR 协作机器人「三剑客」:精密轻量担当(UR7e)、全能协作主力(UR12e)、重型任务专家(UR15)

UR协作机器人正以其卓越性能在现代制造业自动化中扮演重要角色。UR7e、UR12e和UR15通过创新技术和精准设计满足了不同行业的多样化需求。其中&#xff0c;UR15以其速度、精度及人工智能准备能力成为自动化领域的重要突破。UR7e和UR12e则在负载规格和市场定位上不断优化&#xf…...

Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)

参考官方文档&#xff1a;https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java&#xff08;供 Kotlin 使用&#xff09; 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...

CVE-2020-17519源码分析与漏洞复现(Flink 任意文件读取)

漏洞概览 漏洞名称&#xff1a;Apache Flink REST API 任意文件读取漏洞CVE编号&#xff1a;CVE-2020-17519CVSS评分&#xff1a;7.5影响版本&#xff1a;Apache Flink 1.11.0、1.11.1、1.11.2修复版本&#xff1a;≥ 1.11.3 或 ≥ 1.12.0漏洞类型&#xff1a;路径遍历&#x…...

Mysql8 忘记密码重置,以及问题解决

1.使用免密登录 找到配置MySQL文件&#xff0c;我的文件路径是/etc/mysql/my.cnf&#xff0c;有的人的是/etc/mysql/mysql.cnf 在里最后加入 skip-grant-tables重启MySQL服务 service mysql restartShutting down MySQL… SUCCESS! Starting MySQL… SUCCESS! 重启成功 2.登…...

tomcat入门

1 tomcat 是什么 apache开发的web服务器可以为java web程序提供运行环境tomcat是一款高效&#xff0c;稳定&#xff0c;易于使用的web服务器tomcathttp服务器Servlet服务器 2 tomcat 目录介绍 -bin #存放tomcat的脚本 -conf #存放tomcat的配置文件 ---catalina.policy #to…...

从“安全密码”到测试体系:Gitee Test 赋能关键领域软件质量保障

关键领域软件测试的"安全密码"&#xff1a;Gitee Test如何破解行业痛点 在数字化浪潮席卷全球的今天&#xff0c;软件系统已成为国家关键领域的"神经中枢"。从国防军工到能源电力&#xff0c;从金融交易到交通管控&#xff0c;这些关乎国计民生的关键领域…...