操作符知识点大全(简洁,全面,含使用场景,演示,代码)
目录
一.算术操作符
1.要点:
二.负数原码,反码,补码的互推
1.按位取反操作符:~(二进制位)
2.原反补互推演示
三.进制位的表示
1.不同进制位的特征:
2.二进制位表示
3.整型的二进制表示
四.移位操作符
1.左移操作符
2.右移操作符
五.位操作符
1.使用禁忌:
2.位操作符一览:
3.位操作符的注意要点:
4.位操作符使用演示:
5.位操作符的应用:“不创建临时变量实现两个数的交换”
6.位操作符的应用:“求一个整数存储在内存的二进制中1的个数”
法一:利用移位操作符
法二: 利用二进制原理
六.赋值操作符
1.连续赋值(接收上一个运算的返回值)
2.复合赋值符
七.逻辑操作符
1.逻辑操作符一览
2.区分 “逻辑与或” 和 “按位与或”
3.经典例题
例1:逻辑与的“短路特性”——前面为0判定时,后面不操作
例2:逻辑或的“反短路特性”——前面为真判定时,后面不操作
八.单目操作符
1.单目操作符一览
2.sizeof特性与操作规范 (操作数的类型长度)
九.其他操作符
1.下标引用操作符
2.函数引用操作符
3.访问结构的成员操作符
九.算术转换
十.隐式类型转换
1.概述:
2.整型提升:
一.正负数的整型提升
3.截断:
十一.问题表达式问题
原理:优先级虽然存在,但与执行的次序存在不确定性
例1:无法判断三个fun( )哪个先执行
例2:无法判断是c开始先去+"--c",还是先执行--c再+c
十二.逗号表达式
1.逗号表达式
2.逗号表达式的实际应用——简化代码
一.算术操作符
+ - * / %
1.要点:
- 除了%操作符之外,其他操作符都可以作用于整数和浮点数
- 对于/操作符如果两个操作数都为整数,则执行整数除法;只要有浮点数,浮点数除法
- %操作符的两个操作数必须为整数。返回的是整除后的余数
- 除法 / 想要得到小数,保证除数和被除数中至少有一个是浮点数
(5.0/2——>2.5)
二.负数原码,反码,补码的互推
1.按位取反操作符:~(二进制位)
~:二进制位0变1,1变0
00000000000000000000000000000001 11111111111111111111111111111110 按位取反后
2.原反补互推演示
原理:
例子:
三.进制位的表示
1.不同进制位的特征:
进制位的表示范围都为(0~进制位-1)
例:10进制位(0~9) 8进制位(0~7)
2.二进制位表示
进制位从右往左,分别代表进制位的数×进制位的0到若干次方
例:二进制表示15
3.整型的二进制表示
四.移位操作符
1.左移操作符
- 补码移动,空缺补0
- 左移效果:扩大二倍 (负数也适用,例:4->8,-4->-8)
PS:涉及原反补码的运算,不清楚+1-1的可以看本博客原反补码块知识点
图示:
2.右移操作符
- 逻辑右移:左边丢弃,左边补0
- 算术右移(正负数):右边丢弃,左边补原符号位(保持原来的符号位)
图示:
五.位操作符
1.使用禁忌:
- 不要移动负数位,此行为未定义!
2.位操作符一览:
1.按位与&:有0为0,全1为1
2.按位或 |:有1为1,全0为0
3.按位异或^:相同为0,相异为1
3.位操作符的注意要点:
- 他们的操作数必须是整数!
- 位操作的应用场景,一般是补码层面的运算
4.位操作符使用演示:
5.位操作符的应用:“不创建临时变量实现两个数的交换”
原理:
- 任何数 和0 亦或^都是它自己,两个相同的数亦或^都为0
- 运算后不会发生进位
int main() {int a=10;int b=20;//二进制层面,每一位只有0/1两种可能a=a^b; 此时,a相当于在二进制层面上,原来ab两数二进制各位的集合b=a^b; 根据相同数亦或为0,b中存储的是集合排除掉b后的结果,即本来的aa=a^b; 根据相同数亦或为0,此时存储的是集合排除掉本来的a后的结果,即b }
6.位操作符的应用:“求一个整数存储在内存的二进制中1的个数”
法一:利用移位操作符
原理:按位与&1,按位右移。统计32次后按位与1结果之和
代码演示:
int main() {int count=0;for(int i=0;i<32;i++){if((n>>1)&1)==1){count++;}}return 0; }
法二: 利用二进制原理
原理:
- 模%2相当于拿到二进制位中的最右边一位
- 除/2相当于拿到二进制位中的最右边边以外的二进制序列
六.赋值操作符
1.连续赋值(接收上一个运算的返回值)
2.复合赋值符
七.逻辑操作符
1.逻辑操作符一览
- &&:逻辑与
- ||:逻辑或
2.区分 “逻辑与或” 和 “按位与或”
3.经典例题
例1:逻辑与的“短路特性”——前面为0判定时,后面不操作
例2:逻辑或的“反短路特性”——前面为真判定时,后面不操作
八.单目操作符
1.单目操作符一览
2.sizeof特性与操作规范 (操作数的类型长度)
操作规范:
特性:sizeof内部操作不改变原值
PS:截断过程
九.其他操作符
1.下标引用操作符
2.函数引用操作符
():接受一个或多个操作数:第一个操作数是函数名,其余的操作数就是传递给函数的参数
演示:
![]()
3.访问结构的成员操作符
演示:
九.算术转换
十.隐式类型转换
1.概述:
2.整型提升:
一.正负数的整型提升
方法:高位补符号位
3.截断:
- 与整型提升(char赋值给int)相对的,当int(整型)赋值给char时,会发生截断。
- 而运算时依照规定,又要进行整型提升
- 涉及到运算时,才会发生截断
十一.问题表达式问题
原理:优先级虽然存在,但与执行的次序存在不确定性
![]()
例1:无法判断三个fun( )哪个先执行
例2:无法判断是c开始先去+"--c",还是先执行--c再+c
![]()
十二.逗号表达式
1.逗号表达式
- 逗号表达式,就是用逗号隔开的多个表达式
- 逗号表达式,从左向右依次执行。整个表达式的结果是最后一个表达式的结果
2.逗号表达式的实际应用——简化代码
优化前:
a=get_val(); count_val(a); while(a>0) {业务处理a=get_val();count_val(a); }优化后:
a=get_val(); count_val(a); while(a=get_val(),count_val(a),a>0) {业务处理 }
相关文章:
操作符知识点大全(简洁,全面,含使用场景,演示,代码)
目录 一.算术操作符 1.要点: 二.负数原码,反码,补码的互推 1.按位取反操作符:~(二进制位) 2.原反补互推演示 三.进制位的表示 1.不同进制位的特征: 2.二进制位表示 3.整型的二进制表…...
华工研究生语音课
这门课讲啥 语音蕴含的信息、语音识别的目的 语音的准平稳性、分帧、预加重、时域特征分析(能量和过零率)、端点检测(双门限法) 语音的基频及检测(主要是自相关法、野点的处理) 声音的产生过程…...
KingbaseES 原生XML系列二 -- XML数据操作函数
KingbaseES 原生XML系列二--XML数据操作函数(DELETEXML,APPENDCHILDXML,INSERTCHILDXML,INSERTCHILDXMLAFTER,INSERTCHILDXMLBEFORE,INSERTXMLAFTER,INSERTXMLBEFORE,UPDATEXML) XML的简单使其易于在任何应用程序中读写数据,这使XML很快成为数据交换的一种公共语言。…...
【Flink】DataStream API使用之源算子(Source)
源算子 创建环境之后,就可以构建数据的业务处理逻辑了,Flink可以从各种来源获取数据,然后构建DataStream进项转换。一般将数据的输入来源称为数据源(data source),而读取数据的算子就叫做源算子(…...
树莓派硬件介绍及配件选择
目录 树莓派Datasheet下载地址: Raspberry 4B 外观图: 技术规格书: 性能介绍: 树莓派配件选用 电源的选用: 树莓派外壳选用: 内存卡/U盘选用 树莓派Datasheet下载地址: Raspberry Pi …...
O2OA (翱途) 平台 V8.0 发布新增数据台账能力
亲爱的小伙伴们,O2OA (翱途) 平台开发团队经过几个月的持续努力,实现功能的新增、优化以及问题的修复。2023 年度 V8.0 版本已正式发布。欢迎大家到 O2OA 的官网上下载进行体验,也希望大家在藕粉社区里多提宝贵建议。本篇我们先为大家介绍应用…...
数控解锁怎么解 数控系统解锁解密
Amazon Fargate 在中国区正式落地,因 数控解锁使用 Serverless 架构,更加适合对性能要求不敏感的服务使用,Pyroscope 是一款基于 Golang 开发的应用程序性能分析工具,Pyroscope 的服务端为无状态服务且性能要求不敏感,…...
3.0 响应式系统的设计与实现
1、Proxy代理对象 Proxy用于对一个普通对象代理,实现对象的拦截和自定义,如拦截其赋值、枚举、函数调用等。里面包含了很多组捕获器(trap),在代理对象执行相应的操作时捕获,然后在内部实现自定义。 const…...
Rust 快速入门60分① 看完这篇就能写代码了
Rust 一门赋予每个人构建可靠且高效软件能力的语言https://hannyang.blog.csdn.net/article/details/130467813?spm1001.2014.3001.5502关于Rust安装等内容请参考上文链接,写完上文就在考虑写点关于Rust的入门文章,本专辑将直接从Rust基础入门内容开始讲…...
【5.JS基础-JavaScript的DOM操作】
1 认识DOM和BOM 所以我们学习DOM,就是在学习如何通过JavaScript对文档进行操作的; DOM Tree的理解 DOM的学习顺序 DOM的继承关系图 2 document对象 3 节点(Node)之间的导航(navigator) 4 元素࿰…...
【大数据之Hadoop】二十九、HDFS存储优化
纠删码和异构存储测试需要5台虚拟机。准备另外一套5台服务器集群。 环境准备: (1)克隆hadoop105为hadoop106,修改ip地址和hostname,然后重启。 vim /etc/sysconfig/network-scripts/ifcfg-ens33 vim /etc/hostname r…...
SuperMap GIS基础产品组件GIS FAQ集锦(2)
SuperMap GIS基础产品组件GIS FAQ集锦(2) 【iObjects for Spark】读取GDB参数该如何填写? 【解决办法】可参考以下示例: val GDB_params new util.HashMapString, java.io.Serializable GDB_params.put(FeatureRDDProviderParam…...
C语言printf()函数中整型格式说明符详解
每个整型在printf()函数中对应不同的格式说明符,以实现该整型的打印输出。格式说明符必须使用小写。现在让我们看看各个整型及其格式说明符: 短整型(short) 10进制:%hd16进制:无负数格式,正数使用%hx8进制:无负数格式,正数使用%ho c short s 34; printf("%hd", s…...
阿里云服务器地域和可用区怎么选择合适?
阿里云服务器地域和可用区怎么选择?地域是指云服务器所在物理数据中心的位置,地域选择就近选择,访客距离地域所在城市越近网络延迟越低,速度就越快;可用区是指同一个地域下,网络和电力相互独立的区域&#…...
Java序列化引发的血案
1、引言 阿里巴巴Java开发手册在第一章节,编程规约中OOP规约的第15条提到: **【强制】**序列化类新增属性时,请不要修改serialVersionUID字段,避免反序列失败;如果完全不兼容升级,避免反序列化混乱&#x…...
为Linux系统添加一块新硬盘,并扩展根目录容量
我的原来ubuntu20.04系统装的时候不是LVM格式的分区, 所以先将新硬盘转成LVM,再将原来的系统dd到新硬盘,从新硬盘的分区启动,之后再将原来的分区转成LVM,在融入进来 1:将新硬盘制作成 LVM分区 我的新硬盘…...
树莓派Opencv调用摄像头(Raspberry Pi 11)
前言:本人初玩树莓派opencv,使用的是树莓派Raspberry Pi OS 11,系统若不一致请慎用,本文主要记录在树莓派上通过Opencv打开摄像头的经验。 1、系统版本 进入树莓派,打开终端输入以下代码(查看系统的版本&…...
国产ChatGPT命名图鉴
很久不见这般热闹的春天。 随着ChatGPT的威名席卷全球,大洋对岸的中国厂商也纷纷亮剑,各式本土大模型你方唱罢我登场,声势浩大的发布会排满日程表。 有趣的是,在这些大模型产品初入历史舞台之时,带给世人的第一印象其…...
操作系统——进程管理
0.关注博主有更多知识 操作系统入门知识合集 目录 0.关注博主有更多知识 4.1进程概念 4.1.1进程基本概念 思考题: 4.1.2进程状态 思考题: 4.1.3进程控制块PCB 4.2进程控制 思考题: 4.3线程 思考题: 4.4临界资源与临…...
第四十一章 Unity 输入框 (Input Field) UI
本章节我们学习输入框 (Input Field),它可以帮助我们获取用户的输入。我们点击菜单栏“GameObject”->“UI”->“Input Field”,我们调整一下它的位置,效果如下 我们在层次面板中发现,这个InputField UI元素包含两个子元素&…...
大话软工笔记—需求分析概述
需求分析,就是要对需求调研收集到的资料信息逐个地进行拆分、研究,从大量的不确定“需求”中确定出哪些需求最终要转换为确定的“功能需求”。 需求分析的作用非常重要,后续设计的依据主要来自于需求分析的成果,包括: 项目的目的…...
Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility
Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility 1. 实验室环境1.1 实验室环境1.2 小测试 2. The Endor System2.1 部署应用2.2 检查现有策略 3. Cilium 策略实体3.1 创建 allow-all 网络策略3.2 在 Hubble CLI 中验证网络策略源3.3 …...
[ICLR 2022]How Much Can CLIP Benefit Vision-and-Language Tasks?
论文网址:pdf 英文是纯手打的!论文原文的summarizing and paraphrasing。可能会出现难以避免的拼写错误和语法错误,若有发现欢迎评论指正!文章偏向于笔记,谨慎食用 目录 1. 心得 2. 论文逐段精读 2.1. Abstract 2…...
CVE-2020-17519源码分析与漏洞复现(Flink 任意文件读取)
漏洞概览 漏洞名称:Apache Flink REST API 任意文件读取漏洞CVE编号:CVE-2020-17519CVSS评分:7.5影响版本:Apache Flink 1.11.0、1.11.1、1.11.2修复版本:≥ 1.11.3 或 ≥ 1.12.0漏洞类型:路径遍历&#x…...
Windows安装Miniconda
一、下载 https://www.anaconda.com/download/success 二、安装 三、配置镜像源 Anaconda/Miniconda pip 配置清华镜像源_anaconda配置清华源-CSDN博客 四、常用操作命令 Anaconda/Miniconda 基本操作命令_miniconda创建环境命令-CSDN博客...
PHP 8.5 即将发布:管道操作符、强力调试
前不久,PHP宣布了即将在 2025 年 11 月 20 日 正式发布的 PHP 8.5!作为 PHP 语言的又一次重要迭代,PHP 8.5 承诺带来一系列旨在提升代码可读性、健壮性以及开发者效率的改进。而更令人兴奋的是,借助强大的本地开发环境 ServBay&am…...
系统掌握PyTorch:图解张量、Autograd、DataLoader、nn.Module与实战模型
本文较长,建议点赞收藏,以免遗失。更多AI大模型应用开发学习视频及资料,尽在聚客AI学院。 本文通过代码驱动的方式,系统讲解PyTorch核心概念和实战技巧,涵盖张量操作、自动微分、数据加载、模型构建和训练全流程&#…...
若依登录用户名和密码加密
/*** 获取公钥:前端用来密码加密* return*/GetMapping("/getPublicKey")public RSAUtil.RSAKeyPair getPublicKey() {return RSAUtil.rsaKeyPair();}新建RSAUti.Java package com.ruoyi.common.utils;import org.apache.commons.codec.binary.Base64; im…...
DeepSeek越强,Kimi越慌?
被DeepSeek吊打的Kimi,还有多少人在用? 去年,月之暗面创始人杨植麟别提有多风光了。90后清华学霸,国产大模型六小虎之一,手握十几亿美金的融资。旗下的AI助手Kimi烧钱如流水,单月光是投流就花费2个亿。 疯…...
河北对口计算机高考MySQL笔记(完结版)(2026高考)持续更新~~~~
MySQL 基础概念 数据(Data):文本,数字,图片,视频,音频等多种表现形式,能够被计算机存储和处理。 **数据库(Data Base—简称DB):**存储数据的仓库…...




























