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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/31667.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大模型如何改变世界?李彦宏:未来至少一半人要学会“提问题“

2023年爆火的大模型&#xff0c;对我们来说意味着什么&#xff1f; 百度创始人、董事长兼CEO李彦宏认为&#xff0c;“大模型即将改变世界。” 5月26日&#xff0c;李彦宏参加了在北京举办的2023中关村论坛&#xff0c;发表了题为《大模型改变世界》的演讲。李彦宏认为&#…

在centos服务器上部署nginx容器

1.下载nginx镜像 2.导入镜像 docker load -i nginx.tar 3. 查看导入的镜像 docker images 4. 运行镜像 docker run -d -p 80:80 --name my-nginx nginx 5. 访问Nginx 其他 1.查看所有正在运行的Docker容器:docker ps 2.查看所有镜像:docker images 3.使用Docker命令…

Html集成 vue3,js文件访问vue内的方法和属性

标题页面代码如下 如下代码,假设index.js文件中有个 getUserInfo函数, 1.我们首先需要把 let vm app.mount(‘#app’);的vm传到js文件中,这样才能访问vue中定义的元素和函数 2.vue中定义的函数需要return出去才能在js文件中调用 3.js文件中,调用vue中的函数作为参数即可传参到…

为什么我在 PostgreSQL 中 Commit 很慢?

有时&#xff0c;我们的一位客户会查看数据库中最耗时的语句&#xff08;使用pg_stat_statements或pgBadger&#xff09;&#xff0c;并发现COMMIT排名靠前。通常&#xff0c;COMMIT这是 PostgreSQL 中非常快的语句&#xff0c;因此值得研究。在本文中&#xff0c;我将探讨速度…

求职刷题力扣DAY24--回溯算法

1. 77. 组合 给定两个整数 n 和 k&#xff0c;返回范围 [1, n] 中所有可能的 k 个数的组合。 你可以按 任何顺序 返回答案。 示例 1&#xff1a; 输入&#xff1a;n 4, k 2 输出&#xff1a; [[2,4],[3,4],[2,3],[1,2],[1,3],[1,4], ]示例 2&#xff1a; 输入&#xff1…

Go微服务: redis分布式锁在集群中可能遇到的问题及其解决方案

概述 我们的 redis 一般都是集群来给我们程序提供服务的&#xff0c;单体的redis现在也不多见 看到上面是主节点redis和下面是6个重节点redis&#xff0c;主节点和重节点的通讯都是畅通没问题的这个时候&#xff0c;我们有 gorouting 写我们的数据&#xff0c;那它就会用到我们…

(Python)可变类型不可变类型;引用传递值传递;浅拷贝深拷贝

从一段代码开始说事&#xff0c;先上代码&#xff1a; a [[1],[2],[3]] b [[4,5],[6,7],[7,8]] for i,j in zip(a,b):print(i,j)i [9]#i[0] 8j[:2][1,2]print(i, j) print(a) print(b) 运行的结果&#xff1a; [1] [4, 5] [9] [1, 2] [2] [6, 7] [9] [1, 2] [3] [7, 8] …

Homebrew使用

官网&#xff1a;https://brew.sh/ 安装&#xff1a; 简介&#xff1a;https://www.jianshu.com/p/f4c9cf0733ea 比如&#xff0c;安装maven: 1、brew install maven 2、查看安装路径&#xff1a;brew list maven 具体参考&#xff1a;https://blog.csdn.net/m0_67402970/arti…

日语 13 14

13. スピーチの依頼 いらい 自信 自信 自信 自信 自信 じしん 折り入って 折り入って 折り入って おりいって  诚恳 頼み 頼み 頼み 頼み 頼み  たのみ 请求 整備 整備 整備 整備 整備 せいび 维修 肥満 肥満 肥満 肥満 肥満 ひまん 肥胖 権利 …

jigdo无法下载的文件

问题描述 用jigdo下载Debian的iso镜像&#xff0c;剩下最后一个文件下载不了&#xff0c;提示信息&#xff1a; Found 0 of the 1 files required by the template Copied input files to temporary file debian-12.5.0-amd64-DLBD-2.iso.tmp - repeat command and supply mo…

torch.max函数

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

MPLS-LDP(个人学习笔记)

定义 标签分发协议LDP&#xff08;Label Distribution Protocol&#xff09;是多协议标签交换MPLS的一种控制协议&#xff0c;负责转发等价类FEC的分类、标签的分配以及标签交换路径LSP的建立和维护等操作。LDP规定了标签分发过程中的各种消息以及相关处理过程 术语 LDP会话&a…

【尚庭公寓SpringBoot + Vue 项目实战】移动端找房功能(二十一)

【尚庭公寓SpringBoot Vue 项目实战】移动端找房功能&#xff08;二十一&#xff09; 文章目录 【尚庭公寓SpringBoot Vue 项目实战】移动端找房功能&#xff08;二十一&#xff09;1、业务介绍2、接口开发2.1、地区信息2.2、获取全部支付方式列表2.3、房间信息2.2.1. 根据条…

python基础1.1-格式化输出(%用法和format用法)

目录 %用法 format用法 %用法 1、整数的输出 %o —— oct 八进制 %d —— dec 十进制 %x —— hex 十六进制 1 >>> print(%o % 20) 2 24 3 >>> print(%d % 20) 4 20 5 >>> print(%x % 20) 6 142、浮点数输出 &#xff08;1&#xff09;格式化…

鸿蒙开发系统基础能力:【@ohos.accessibility (辅助功能)】

辅助功能 说明&#xff1a; 本模块首批接口从 API version 7 开始支持。后续版本的新增接口&#xff0c;采用上角标单独标记接口的起始版本。 导入模块 import accessibility from ohos.accessibility;AbilityState 辅助应用状态类型。 系统能力&#xff1a;以下各项对应的…

智能体合集

海外版coze: 前端代码助手 后端代码助手&#xff1a; 前端代码助手&#xff1a;

glXMakeCurrent 退出

glXMakeCurrent 退出 X Error of failed request: GLXBadDrawable Major opcode of failed request: 146 (GLX) Minor opcode of failed request: 29 (X_GLXGetDrawableAttributes) Serial number of failed request: 90 Current serial number in output stream: …

优惠券核销业务

优惠券核销业务&#xff0c;包含 买券&#xff0c;券核销&#xff0c;退券&#xff0c;退款&#xff0c;过期自动退。 优惠券 为了促销&#xff0c;商家有时会发放一些优惠券&#xff0c;比如 80 抵 100。抖音、美团&#xff0c;都有类似的业务。 购买优惠券 优惠券&#x…

C++核心编程运算符的重载

C核心编程运算符的重载 文章目录 C核心编程运算符的重载1.“”运算符的重载1.1 作为成员函数重载1.2 作为全局函数重载 2."<<"运算符重载2.1为什么需要重载左移运算符2.2如何重载左移运算符2.3注意事项 3.""运算符重载3.1 前置递增运算符重载3.2后置…

添加右键菜单(以git为例)

1、打开注册表编辑器 打开系统注册表&#xff0c;使用组合键“Win R”输入“regedit”。 依次展开”HKEY_CLASSES_ROOT\Directory\Background\shell”。 2、新建右键菜单项 在[Background]下找到“shell”如果没有则新建项shell&#xff0c;接着在“shell”下右键-新建项名…