操作符

简介: 操作符

算术操作符

/除法表示商。  %取模表示商的余数


移位操作符

  • <<左移  左边舍去,右边添0

image.png


  • a<<2,表示向左移两位(将比特位形式的a进行移动) 如图
  • image.png
  • 进行移位操作时,a本身的值不变,除非将值赋给a本身。
  • <<  >>左移和右移性质相同,在这里就不累述了、


位操作符

位操作符中的“位”依旧是二进制位 ,所以关于二进制位的转化

&  按位与   就是两个变量,输出的二进制位只要有一个为0(假),则按位与的结果就是假--------------与按位或相反

|    按位或    与按位与相反,输出的二进制位只要有一个是1(真),则输出结果就为真----------------按位或,货真价实,所以与真有关。只要有一个为真,就为真。

^  按位异或   对应的二进制位相同,则为0,对应的二进制位相反,就为真(1  )-------------------按位异或比上面两个多出一个字,所以比较麻烦,分为两步。若相同则为0,不同就为假

image.png

单目 双目 三目操作符的区别:目 代表有几个操作数

比如:a+b就是双目操作符,因为有a b两个操作数


单目操作符

  • !逻辑反操作符 把真变为假,把假变为真。

image.png

输出结果为1,把假 变为真

  • &取地址操作符,适用于指针
  • ~  对一个数的二进制进行按位取反 

例:如果对整形 int 0进行按位取反,输出结果是-1

  1. 原因:首先int 表示有符号的整形,相反unsigned int 表示无符号的整形,意味着没有正负之分。
  2. 所以当~作用于一个有符号整形,分正负的数字上时,一切都得小心!
  3. 第一位表示符号位,一为正,二为负。所以将0进行按位取反时,变成32个1,第一位表示符号位,即为负。
  4. 又有规定负数在内存中存储的时候,存储的是二进制的补码。意味着32个1是补码
  5. 又因为我们在使用或打印是,是这个数的原码。
  6. 这时我们就有必要进行先转换
  7. 原码反码补码
  8. 原码符号位不变,其余按位取反得到反码
  9. 反码最后一位加1得到补码。
  10. 任何整数存储的都是补码,反码只是中间计算的一个状态
  11. 正数的原码补码反码,三码相同

TIP:按位取反和原码得到反码的区别:

按位取反:全部取反。

反码:符号位不变,其余位取反


总结:当~出现在有符号位的变量上时,就要注意。按位取反得到的是补码,还需转换位原码!!!关键在于~按位取反一个有符号的整形!


++  --

前置和后置的区别

总结:不管前置或者后置,a都需要进行加减。但计算b时,若后置,则“后知后觉”,b不变;若前置,则与a相同!

image.png

关系操作符

&&  逻辑与

||  逻辑或    

重点落在逻辑二字,

逻辑与:二者只要有一个为假,输出结果就为假

逻辑或:二者只要有一个为真,结果就为真

&&与位操作符&的区别

本质就要回归定义。

&表示位操作符,是关于二者的二进制位;而逻辑操作符&&判断条件。


条件操作符/三目操作符

( a>b ?  a : b  )

image.png

流程:a>b吗?若大于,就输出A,若小于就输出B(括号内没有逗号!)

相关文章
|
缓存 负载均衡 前端开发
Nginx详细配置指南
Nginx详细配置指南
446 0
|
10月前
|
缓存 负载均衡 网络协议
CDN负载均衡技术
【10月更文挑战第26天】内容分发网络(CDN)是一种通过将数据缓存至全球各地的节点,以提高用户访问速度和数据传输稳定性的技术。CDN负载均衡技术是其核心,通过智能分配用户请求至最近最稳定的节点,确保高效稳定的网络体验。该技术分为全局负载均衡和本地负载均衡,前者实现用户请求的初步定向,后者则根据节点状态进行精细化管理。
343 2
|
11月前
|
tengine 应用服务中间件 Linux
Tengine、Nginx安装PHP命令教程
要在阿里云Linux上安装PHP,请先更新YUM源并启用PHP 8.0仓库,然后安装PHP及相关扩展。通过`php -v`命令验证安装成功后,需修改Nginx配置文件以支持PHP,并重启服务。最后,创建`phpinfo.php`文件测试安装是否成功。对于CentOS系统,还需安装EPEL源和Remi仓库,其余步骤类似。完成上述操作后,可通过浏览器访问`http://IP地址/phpinfo.php`测试安装结果。
|
存储 Prometheus 监控
|
Prometheus 监控 Cloud Native
ChaosBlade接入问题之资源监控接入如何解决
ChaosBlade 是一个开源的混沌工程实验工具,旨在通过模拟各种常见的硬件、软件、网络、应用等故障,帮助开发者在测试环境中验证系统的容错和自动恢复能力。以下是关于ChaosBlade的一些常见问题合集:
|
Shell
esp32入门笔记
这篇文章是关于ESP32 S3入门的笔记,包括了安装编译工具、下载ESP-IDF框架、设置工具和环境变量、以及烧录固件的步骤说明。
297 5
产品入门第六讲:Axure中继器
产品入门第六讲:Axure中继器
232 0
|
小程序
TDesign电商小程序模板解析02-首页功能
TDesign电商小程序模板解析02-首页功能
|
前端开发 数据可视化 数据安全/隐私保护
一文看懂MOBI
简述什么是MOBI以及基于MOBI搭建登录流程应用
一文看懂MOBI