当前位置: 首页 > 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…...

Java 8 Stream API 入门到实践详解

一、告别 for 循环&#xff01; 传统痛点&#xff1a; Java 8 之前&#xff0c;集合操作离不开冗长的 for 循环和匿名类。例如&#xff0c;过滤列表中的偶数&#xff1a; List<Integer> list Arrays.asList(1, 2, 3, 4, 5); List<Integer> evens new ArrayList…...

Golang dig框架与GraphQL的完美结合

将 Go 的 Dig 依赖注入框架与 GraphQL 结合使用&#xff0c;可以显著提升应用程序的可维护性、可测试性以及灵活性。 Dig 是一个强大的依赖注入容器&#xff0c;能够帮助开发者更好地管理复杂的依赖关系&#xff0c;而 GraphQL 则是一种用于 API 的查询语言&#xff0c;能够提…...

Python爬虫(一):爬虫伪装

一、网站防爬机制概述 在当今互联网环境中&#xff0c;具有一定规模或盈利性质的网站几乎都实施了各种防爬措施。这些措施主要分为两大类&#xff1a; 身份验证机制&#xff1a;直接将未经授权的爬虫阻挡在外反爬技术体系&#xff1a;通过各种技术手段增加爬虫获取数据的难度…...

EtherNet/IP转DeviceNet协议网关详解

一&#xff0c;设备主要功能 疆鸿智能JH-DVN-EIP本产品是自主研发的一款EtherNet/IP从站功能的通讯网关。该产品主要功能是连接DeviceNet总线和EtherNet/IP网络&#xff0c;本网关连接到EtherNet/IP总线中做为从站使用&#xff0c;连接到DeviceNet总线中做为从站使用。 在自动…...

高防服务器能够抵御哪些网络攻击呢?

高防服务器作为一种有着高度防御能力的服务器&#xff0c;可以帮助网站应对分布式拒绝服务攻击&#xff0c;有效识别和清理一些恶意的网络流量&#xff0c;为用户提供安全且稳定的网络环境&#xff0c;那么&#xff0c;高防服务器一般都可以抵御哪些网络攻击呢&#xff1f;下面…...

【JavaWeb】Docker项目部署

引言 之前学习了Linux操作系统的常见命令&#xff0c;在Linux上安装软件&#xff0c;以及如何在Linux上部署一个单体项目&#xff0c;大多数同学都会有相同的感受&#xff0c;那就是麻烦。 核心体现在三点&#xff1a; 命令太多了&#xff0c;记不住 软件安装包名字复杂&…...

JVM暂停(Stop-The-World,STW)的原因分类及对应排查方案

JVM暂停(Stop-The-World,STW)的完整原因分类及对应排查方案,结合JVM运行机制和常见故障场景整理而成: 一、GC相关暂停​​ 1. ​​安全点(Safepoint)阻塞​​ ​​现象​​:JVM暂停但无GC日志,日志显示No GCs detected。​​原因​​:JVM等待所有线程进入安全点(如…...

稳定币的深度剖析与展望

一、引言 在当今数字化浪潮席卷全球的时代&#xff0c;加密货币作为一种新兴的金融现象&#xff0c;正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而&#xff0c;加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下&#xff0c;稳定…...

Springboot社区养老保险系统小程序

一、前言 随着我国经济迅速发展&#xff0c;人们对手机的需求越来越大&#xff0c;各种手机软件也都在被广泛应用&#xff0c;但是对于手机进行数据信息管理&#xff0c;对于手机的各种软件也是备受用户的喜爱&#xff0c;社区养老保险系统小程序被用户普遍使用&#xff0c;为方…...

算法岗面试经验分享-大模型篇

文章目录 A 基础语言模型A.1 TransformerA.2 Bert B 大语言模型结构B.1 GPTB.2 LLamaB.3 ChatGLMB.4 Qwen C 大语言模型微调C.1 Fine-tuningC.2 Adapter-tuningC.3 Prefix-tuningC.4 P-tuningC.5 LoRA A 基础语言模型 A.1 Transformer &#xff08;1&#xff09;资源 论文&a…...