5.15_操作符详解

1、操作符分类:

算术操作符   +   -   *   /   %

移位操作符   <<   >>

位操作符    &   |   ^

赋值操作符   =   +=  -= ......

单目操作符

关系操作符

逻辑操作符

条件操作符

逗号表达式

下标引用、函数调用和结构成员

2、算术操作符 

+   -    *    /    %

/    整型的除法   1/2-->0  得到的是商

     浮点型的除法   1.0/2-->0.5    1/2.0-->0.5    1.0/2.0-->0.5

%  计算的是整除后的余数   7%2  就是7除2商3余1,最后得到的结果是1,%这个取模操作符的两        端必须是整数。

3、移位操作符

<<   左移操作符

>>   右移操作符

注:移位操作符的操作数只能是整数

移位操作符,移动的是二进制位

给一个值13,可以用二进制,八进制,十进制,十六进制等来表示。

十进制里面的数字每一位都是由0~9来组成

二进制里面只有0和1

八进制是0~7组成

十六进制是由0~9和a~f来表示,a~f就是10~15

整数的二进制表示有3种:

原码

反码

补码

规定:

正的整数的原码、反码、补码相同;

负的整数的原码、反码、补码是要计算的。

例:

7

二进制序列:111 (但其实不够)

7是个整数,整型占4个字节,4个字节就是32比特位(bit),一个字节8个bit,所以

二进制序列应该是:00000000000000000000000000000111

因为7是整数,所以高位是0,0表示他是整数,最高位就是符号位,(最高位是0,表示他是整数,最高位是1,表示他是负数)

所以这个00000000000000000000000000000111就是7的原码,照着7的这个值直接写出来的这个数值就是她的原码,因为正的整数的原码、反码、补码相同,所以也可以认为这个00000000000000000000000000000111是7的反码,补码。

7

00000000000000000000000000000111   --原码

00000000000000000000000000000111   --反码

00000000000000000000000000000111   --补码

-7

10000000000000000000000000000111   --原码    (最高位1表示负数)

负数的反码:原码的符号位不变,其他位按位取反

111111111111111111111111111111111000   --反码

负数的补码:反码的基础上直接+1

111111111111111111111111111111111001   --补码

整数在内存中存储的是补码

 正数  左移操作符: 

左移操作符的计算规则:左边丢弃,右边补0。

 

a的值是不变的。 

负数  左移操作符:

 那通过补码算到原码(这是负数的)

补码-1之后再取反

111111111111111111111111111111110010   --补码

111111111111111111111111111111110001   --反码

10000000000000000000000000001110   --原码 

-(1*(2^3)+1*(2^2)+1*(2^1)+1*(2^0))=-(8+4+2+0)=-14

左移有乘2的效果 

右移操作符:

(有两种,算术移位和逻辑移位)

算术移位:右边丢弃,左边补原符号位

逻辑移位:右边丢弃,左边补0

正数现在好像测不出它现在用的是算术移位还是逻辑移位。

那怎么测它是是算术移位还是逻辑移位,放个负数就明白了。

a=-7

移位之后,如果是算术移位最高位补的就是1,是负数

如果是逻辑移位最高位补的就是0,变成是正数了。

111111111111111111111111111111111100   --补码

111111111111111111111111111111111011   --反码

10000000000000000000000000000100  --原码   -(1*2(2^2))=-4

说明vs2022编译器采用的是算术右移。

警告:

对于移位运算符,不要移动负数位,这个标准是未定义的。  (int b=a>>-2;  //这个是不行的)

 

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

解决kali Linux安装后如何将语言修改为中文

开启虚拟机 用root用户进入终端 进入终端执行dpkg-reconfigure locales命令 选择en_US.UTF-8 UTF-8选项&#xff0c;按空格键将其取消。 选择zh_CN.UTF-8 UTP-8&#xff0c;按空格选择&#xff0c;按tab键选择ok。 选择zh_CN.UTF-8字符编码&#xff0c;按tab键选择ok&#xff0…

对比测评3款BI分析工具

前不久&#xff0c;一位准备入职阿里的学弟问我&#xff0c;他要做电商数据分析&#xff0c;电商有庞杂的标签、模型、数据和业务逻辑&#xff0c;菜鸟应该要具备什么样的分析能力啊&#xff1f; 我看了他的岗位职责&#xff0c;主要是负责经营决策支持、专题分析和数据看板搭…

回顾那些年的软件霸主,如今依然让人难以忘怀的经典之作

互联网的历史长河里&#xff0c;真的有好多超酷的软件闪亮登场过。 豪杰超级解霸 记得那个超级解霸吗&#xff1f;还有那个江民KV3000&#xff0c;哇&#xff0c;真的是经典中的经典&#xff01;别忘了金山游侠、MUD游戏&#xff0c;玩起来真的太嗨了。 还有千年虫&#xff…

《Python编程从入门到实践》day29

# 昨日知识点回顾 修改折线图文字和线条粗细 矫正图形 使用内置格式 # 今日知识点学习 15.2.4 使用scatter()绘制散点图并设置样式 import matplotlib.pyplot as plt import matplotlib matplotlib.use(TkAgg)plt.style.use(seaborn-v0_8) # 使用内置格式 fig, ax plt.subpl…

【董晓算法】动态规划之线性DP问题

前言&#xff1a; 本系列是看的B站董晓老师所讲的知识点做的笔记 董晓算法的个人空间-董晓算法个人主页-哔哩哔哩视频 (bilibili.com) 树塔-记忆化搜索 特点&#xff08;前提&#xff09;&#xff1a;从上向下的累加和是不能重复使用的&#xff0c;从下向上的累加和是可以重…

结合小波变换的遥感语义分割网络,融合频域和空间域特征提升分割效果

题目:SFFNet: A Wavelet-Based Spatial and Frequency Domain Fusion Network for Remote Sensing Segmentation 论文:http://arxiv.org/abs/2405.01992 代码:https://github.com/yysdck/SFFNet 年份:2024 创新点 两阶段网络SFFNet:网络首先使用空间方法提取特征,以保…

2024中国应急(消防)品牌巡展西安站成功召开!惊喜不断

消防品牌巡展西安站 5月10日&#xff0c;由中国安全产业协会指导&#xff0c;中国安全产业协会应急创新分会、应急救援产业网联合主办&#xff0c;陕西消防协会协办的“一切为了安全”2024年中国应急(消防)品牌巡展-西安站成功举办。该巡展旨在展示中国应急&#xff08;消防&am…

四、基于Stage模型的应用架构设计

前面我们了解了如何构建鸿蒙应用以及开发了第一个页面&#xff0c;这只是简单的demo&#xff1b;那么如何去设计&#xff0c;从0到1搭建一个真正的应用呢 一、基本概念 1、Stage模型基本概念 Stage模型概念图 AbilityStage&#xff1a;是一个Module级别的组件容器&#xff0…

GPT-4o、GPT-4国内可用!新UI界面率先体验方法!

测试情况&#xff1a; 现根据测试结果&#xff0c;先对比一下普号4o和付费的区别&#xff1a; 注&#xff1a; plus限制情况&#xff1a;4的次数用完后可以用4o&#xff0c;但4o的80条用完后不能用4&#xff1b; team账户限制是100条/3h&#xff0c;4o和4共享额度 目前发现的…

vs2022中添加头文件和声明

总结帖 数组存储 matlab中3维数组–>C中1维数组 数组转置函数 #include <stdio.h>// 转置二维数组 void transpose(int *src, int *dest, int rows, int cols) {for (int i 0; i < rows; i) {for (int j 0; j < cols; j) {dest[j * rows i] src[i * col…

【ARMv8/v9 系统寄存器 6 -- EL 异常等级判定寄存器 CurrentEL 使用详细将介绍】

文章目录 ARMv8/v9 EL 等级获取EL 等级获取函数实现EL 等级获取测试 ARMv8/v9 EL 等级获取 下面这个宏定义是用于ARMv8/v9架构下&#xff0c;通过汇编语言检查当前执行在哪个异常级别&#xff08;Exception Level&#xff0c;EL&#xff09;并据此跳转到不同的标签。 异常级别…

java代码混淆工具ProGuard混淆插件

java代码混淆工具ProGuard混淆插件 介绍 ProGuard是一个纯java编写的混淆工具&#xff0c;有客户端跟jar包两种使用方式。可以将程序打包为jar&#xff0c;然后用工具进行混淆&#xff0c;也可以在maven中导入ProGuard的插件&#xff0c;对代码进行混淆。 大家都知道 java代…

Edwards爱德华PHM3000培训PPT课件内容可见图片详情

Edwards爱德华PHM3000培训PPT课件内容可见图片详情

Linux 第三十四章

&#x1f436;博主主页&#xff1a;ᰔᩚ. 一怀明月ꦿ ❤️‍&#x1f525;专栏系列&#xff1a;线性代数&#xff0c;C初学者入门训练&#xff0c;题解C&#xff0c;C的使用文章&#xff0c;「初学」C&#xff0c;linux &#x1f525;座右铭&#xff1a;“不要等到什么都没有了…

穷人翻身的秘诀!2024年普通人如何创业赚钱?穷人如何逆袭翻身?普通人创业新风口?

穷人的思维有一个致命的缺陷&#xff0c;就是追求确定性&#xff0c;进而失去了可能性。而赚钱的真相实际上非常残酷。世界上能够赚钱的事情必定是不确定的&#xff0c;能够赚取巨额财富的事情更是极度不确定的。只有面对不确定性&#xff0c;才能让你把竞争对手拦在门外&#…

pandas style添加表格边框,或是只添加下边框等自定义边框样式设置

添加表格边框 可以使用如下程序添加表格&#xff1a; import dataframe_image as dfi import pandas as pd import numpy as npdf pd.DataFrame(np.random.random(size(10, 5))) df_style df.style.set_properties(**{text-align: center,border-color: black,border-width…

幻兽帕鲁Palworld服务器手动+docker部署方法+备份迁移

目录 帕鲁部署官方文档帕鲁手动安装法手动安装steamcmd通过steamcmd安装帕鲁后端 docker容器一键部署幻兽帕鲁绿联云NAS机器部署幻兽帕鲁客户端连接附录1&#xff1a;PalServer.sh的启动项附录2&#xff1a;配置文件游戏存档保存和迁移 关于阿里云计算巢 帕鲁部署官方文档 htt…

汇聚荣科技:如何有效为拼多多店铺引流?

在电商竞争激烈的今天&#xff0c;为拼多多店铺引流是每个店主必须面对的挑战。有效的引流策略不仅能增加店铺曝光度&#xff0c;还能提升转化率&#xff0c;促进销量增长。 一、社交媒体营销 利用微信、微博等社交平台进行推广&#xff0c;可以通过发布产品信息、用户评价和促…

苹果电脑里面的资料为什么不能拷贝到硬盘 mac硬盘权限限制怎么解决 mac东西拷不进硬盘怎么办

你在使用Mac电脑的时候有没有遇到过文件无法拷贝的情况呢&#xff1f;这种情况多见于Mac电脑使用U盘或者移动硬盘的时候&#xff0c;不少用户都发现&#xff1a;可以正常读取U盘里的数据但是无法拷贝文件进去&#xff0c;为什么会有这种情况呢&#xff1f; 一、mac东西拷不进硬…

有什么泛域名ssl证书260

互联网发展快速&#xff0c;不管是个人还是企事业单位都开始利用互联网营利&#xff0c;因此越来越多的用户开始使用数字证书加密客户端与服务器之间的传输数据&#xff0c;从而防止传输数据被截取或篡改。发展到现在&#xff0c;不论是个人还是企事业单位用户往往经营了不止一…