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

【时时三省】(C语言基础)操作符

山不在高,有仙则名。水不在深,有龙则灵。

                         ——csdn时时三省

算术操作符

b59c35b8e70141a0aff9fa64fd2ddfeb.jpg

这个时候打印出来的是整数 不会打印小数点后面的数字 因为它是int类型

只用把他换成浮点型并且它的两个数里面有一个必须是小数 才可以算出来小数 

示例:

8684640590744683abbe36b283f563ab.jpg

 %操作符的两个操作数必须为整数。返回的是整除之后的余数

移位操作符

<<     向左移动一位

>>     向右移动一位

be6f5d0f411e46568c0803377813ff9b.jpg

相当于把a的二进制位向左移动一位

a的2进制位是这样的

00000000000000000000000000000010

移动之后是这样

00000000000000000000000000000100

结果就是4了

左移操作符:

左边丢弃,右边补0

407783b8f20d4b33a25682d61bc64ba2.jpg

 a的2进制位是这样的

00000000000000000000000000001010

移动之后是这样

00000000000000000000000000000101

结果是5

右移操作符:

1.算术右移

右边丢弃,左边补原符号位

2.逻辑右移

右移丢弃,左边补0

当前的右移操作符使用的:算术右移

负数:-1

存放在内存中

存放的是二进制的补码

整数的二进制表示形式:有三种

原码:直接根据数值写出的二进制序列就是原码

反码:原码的符号位不变,其他位按位取反就是反码

补码:反码+1,就是补码

对于正整数来说 原码补码反码相同

位操作符

& 按位与

| 按位或

^ 按位异或

注意:他们的操作数必须是整数

&示例:

5e4ddb9a14184c8385d2fc21de4991c8.jpg

 &按(二进制)位与

3的二进制位是

00000000000000000000000000000011

5的二进制位

00000000000000000000000000000101

&之后是

00000000000000000000000000000001

3跟5对应的二进制位里面只要有0按位与的结果就是0 两个都是1才会是1

|按位或示例

c1a34462311f4ad08a0ed357dcd7ed70.jpg 3的二进制位是

00000000000000000000000000000011

5的二进制位

00000000000000000000000000000101

|按位或之后是

00000000000000000000000000000111

3跟5对应的二进制位里面只要有1按位与的结果就是1 两个都是0才会是0

^按位异或示例

316bd02dec2d477c956925a83b01f538.jpg

 按(二进制)位异或

对应的二进制位进行异或

规则:相同为0,相异为1

3的二进制位是

00000000000000000000000000000011

5的二进制位

00000000000000000000000000000101

&之后是

00000000000000000000000000000110

结果就是6

 

http://www.lryc.cn/news/418424.html

相关文章:

  • 常用API(三)
  • 内存管理问题总结
  • 十七、Intellij IDEA2022.1.1下载、安装、激活
  • 【Material-UI】Button Group 中的 Disabled Elevation 功能
  • Java RESTful API 测试:使用 RestAssured
  • 将nestjs项目迁移到阿里云函数
  • 边缘计算×AI:绘制未来实时智能的宏伟蓝图
  • 实现关系运算符的重载
  • 【css】使用CSS绘制奥运五环--巴黎奥运
  • 【Python数据处理】MatplotlibNumpyPandas常用API整理
  • Nacos是阿里巴巴开源的一款分布式服务注册中心和配置中心
  • 条形码与二维码报表
  • 数据采集工具之Flume
  • 【24年最新】AI大模型零基础入门到精通学习资料大全,学完你就是LLM大师!
  • 使用RabbitMQ死信交换机实现延迟消息
  • overleaf上latex表格的使用,latex绘制三线表
  • 聚焦光热型太阳光模拟器助力多晶硅均匀加热
  • 【Android】四大组件(Activity、Service、Broadcast Receiver、Content Provider)、结构目录
  • 前端开发:创建可拖动的固定位置 `<div>` 和自动隐藏悬浮按钮
  • Java Bean Validation 注解:@NotEmpty、@NotBlank 和 @NotNull 的区别
  • Java | Leetcode Java题解之第322题零钱兑换
  • Linux初启征程指南:攻克常见系统指令与权限初理解
  • 第十九节、野猪受伤死亡逻辑动画
  • vue 开发工具 Hbuilder 简介及应用
  • 【杂谈】-MQTT与HTTP在物联网中的比较:为什么MQTT是更好的选择
  • 冠豪猪优化算法(CPO)、卷积神经网络(CNN)与支持向量机(SVM)结合的预测模型(CPO-CNN-SVM)及其Python和MATLAB实现
  • 【通信原理】
  • 有序数组的平方(LeetCode)
  • Python配置镜像
  • Python新手错误集锦(PyCharm)