0基础学习——了解操作符的那些事(一)

小叮当的任意门

  • 操作符分类
    • 1. 算数操作符
    • 2. 移位操作符
        • 二进制(小插曲)
      • 左移动操作符
      • 右移操作符
    • 3. 位操作符
      • & 按位与 &
      • 按位或 |
      • 按位异或 ^
      • 赋值操作符
      • 复合赋值符
      • 单目操作符

操作符分类

在这里我们有:算数操作符 移位操作符 等
今天我们就先来讲这几个操作符

1. 算数操作符

这是我们加 ,减 ,乘 ,除 ,取模(取余)
0基础学习——了解操作符的那些事(一)_第1张图片

加减乘 就没有必要讲了,叫你奶奶来都会。

讲一下 / 除法操作符

0基础学习——了解操作符的那些事(一)_第2张图片
这里的除号就是我们上小学学的一个意思。
备注:对于除法操作符,两边的操作数都是整数,所以执行起来的是整数除法。
如果想要计算出小数,除号的两端至少有一个操作数是浮点数

在这里插入图片描述> 那如果想计算出小数点后面一位呢?
0基础学习——了解操作符的那些事(一)_第3张图片
直接在lf前面加.1,就可以了。

%取模(取余)

这个操作符计算的是整除之后的余数
0基础学习——了解操作符的那些事(一)_第4张图片
取模操作符的两边的操作数只能是整数
0基础学习——了解操作符的那些事(一)_第5张图片
不然会报错哦

2. 移位操作符

0基础学习——了解操作符的那些事(一)_第6张图片

二进制(小插曲)

讲到移位操作符,那就必须要讲解一下2进制了
移(2进制)位操作符
整数的2进制表示形式,有3种
原码
反码
补码
内存中的存储其实是:补码的二进制
移动的时候,移动后都是补码

12——数值

在这里,我们可以有都种表达方式
2进制:1100
8进制:14
10进制:12
16进制:c

正数

正数的原码,反码,补码是相同的
因为是整型,而且占4个字节(32bit)

第一个数字是0——为正数

负数

同理可得:第一个数字是1——为负数
负数的原码,反码,补码是要经过计算的
反码是原符号位不变,其他位按位取反,就是反码
补码是反码+1
0基础学习——了解操作符的那些事(一)_第7张图片
其实反过来也可以
0基础学习——了解操作符的那些事(一)_第8张图片
// //10000000000000000000000000001010 - 原码
// //11111111111111111111111111110101 - 反码
// //11111111111111111111111111110110 - 补码
//
// //11111111111111111111111111110110 - 补码
// //10000000000000000000000000001001
// //10000000000000000000000000001010 - 原码
//
// int b = -10;
说明这几条路都是行得通的哦在这里插入图片描述

左移动操作符

0基础学习——了解操作符的那些事(一)_第9张图片
直接上图
0基础学习——了解操作符的那些事(一)_第10张图片
这就是具体原理
0基础学习——了解操作符的那些事(一)_第11张图片
a<<1的结果是移动之后的效果,但是a的是不变的。

  比如:int a = 10;
  	   int b = a+2;	

对于负数打印出来的是原码,正数三个码都是一样的,无所谓~~~

右移操作符

0基础学习——了解操作符的那些事(一)_第12张图片
算数操作符
左边用原来的符号填补,右边就嘎了
0基础学习——了解操作符的那些事(一)_第13张图片

下面就来直接上手
0基础学习——了解操作符的那些事(一)_第14张图片
下面就让我来讲解一波:先看a(负数),因为存储的,运行的是补码,所以先要从原码变换到补码。然后在向右移动,最后惊奇的发现移了好像没移(对于这个数字)。后面打印出来的是需要原码的哦,再变换,好家伙又回去了。在这里插入图片描述

为什么有要变来变去呢? 看图就知道了,内存中的值还真的是这样0基础学习——了解操作符的那些事(一)_第15张图片>

这里说明一下
在这里插入图片描述0基础学习——了解操作符的那些事(一)_第16张图片
你说这是个啥玩意蛮

3. 位操作符

0基础学习——了解操作符的那些事(一)_第17张图片

& 按位与 &

先来说明按位与操作符,对于的二进制位有0,则为0,两个同时为1才为1
0基础学习——了解操作符的那些事(一)_第18张图片注意最后为正哦

按位或 |

按2进制位或
对应的二进制位有1则为1,两个同时为0则为0
0基础学习——了解操作符的那些事(一)_第19张图片

按位异或 ^

按2进制位异或
对应的二进制位:相同为0,相异为1
0基础学习——了解操作符的那些事(一)_第20张图片

下面我们来一个题

一道变态的面试题 不能创造临时变量(第三个变量),实现两个数的交换
这里我们先就来一个第三个变量,酱油瓶tmp
在这里插入图片描述这不就可以了呀

还有一种小天才的写法
0基础学习——了解操作符的那些事(一)_第21张图片

注意:如果数字过大就栈溢出了。但是这个数学思路还是表示肯定的

下面我们就用异或操作符来写
在这里插入图片描述讲解:
0基础学习——了解操作符的那些事(一)_第22张图片
所以按位异或是支持交换律
异或操作符交换2个变量
但是 可读性差,效率也不如使用临时变量的方法
而且只能针对整数的交换
酱油瓶tmp才是王道

赋值操作符

赋值操作符是一个非常不错的操作符,
他可以让你得到一个你满意的值,也就是你可以给自己重新赋值。0基础学习——了解操作符的那些事(一)_第23张图片

0基础学习——了解操作符的那些事(一)_第24张图片
注意:
0基础学习——了解操作符的那些事(一)_第25张图片
一定要规范写作
不然就是没有初始化

复合赋值符

0基础学习——了解操作符的那些事(一)_第26张图片
学完前面的,这个综合起来也就简单
0基础学习——了解操作符的那些事(一)_第27张图片

单目操作符

0基础学习——了解操作符的那些事(一)_第28张图片

a +1; + a 1 操作符有2个操作数,为双目操作符
单目操作符,只有一个操作数
0基础学习——了解操作符的那些事(一)_第29张图片
然后我们再补充一下:布尔类型
注意引用头文件
0基础学习——了解操作符的那些事(一)_第30张图片

0基础学习——了解操作符的那些事(一)_第31张图片

闰年也可以判断在这里插入图片描述
最后请添加图片描述

unsigned与unsigned 似乎与2进制有关,具体看图去0基础学习——了解操作符的那些事(一)_第32张图片![请添加图片描述](https://img-blog.csdnimg.cn/3fac6536855a43d6aec34af1d9ea8f15.png

请添加图片描述0基础学习——了解操作符的那些事(一)_第33张图片
最后居然不是-10请添加图片描述
下面来说一下解引用操作符
0基础学习——了解操作符的那些事(一)_第34张图片

%p 是搞地址的
%c 是搞字符的

所以就可以推出*p是把它变回去吗?
0基础学习——了解操作符的那些事(一)_第35张图片
现在知道了吧, pa 是解引用操作
int
* pa才是储存地址的
0基础学习——了解操作符的那些事(一)_第36张图片

强制转换类型

这个就是你在垃圾桶里发现一个快递单,上面有张三地址,后面找到张三说我找到你家了
0基础学习——了解操作符的那些事(一)_第37张图片

这个具体好像我上一篇三子棋也有讲0基础学习——了解操作符的那些事(一)_第38张图片
这里的a可以不用括号,这是为什么呢?
0基础学习——了解操作符的那些事(一)_第39张图片

请添加图片描述
0基础学习——了解操作符的那些事(一)_第40张图片
但是如果int,上面不加括号会怎么样?
0基础学习——了解操作符的那些事(一)_第41张图片

怎么能上类型呢?

这是全面表示
0基础学习——了解操作符的那些事(一)_第42张图片

下面看看打印的是什么0基础学习——了解操作符的那些事(一)_第43张图片
2和5哦0基础学习——了解操作符的那些事(一)_第44张图片因为在便译那一步的时候就结束计算了0基础学习——了解操作符的那些事(一)_第45张图片
0基础学习——了解操作符的那些事(一)_第46张图片为20基础学习——了解操作符的那些事(一)_第47张图片
0基础学习——了解操作符的那些事(一)_第48张图片自己看看吧

0基础学习——了解操作符的那些事(一)_第49张图片多个也不要怕哦
0基础学习——了解操作符的那些事(一)_第50张图片
0基础学习——了解操作符的那些事(一)_第51张图片
0基础学习——了解操作符的那些事(一)_第52张图片这些都是前面说过的哦

下面我们来几首歌,消去疲惫吧

贝加尔湖畔
在我的怀里 在你的眼里
那里春风沉醉 那里绿草如茵
月光把爱恋 洒满了湖面
两个人的篝火 照亮整个夜晚
多少年以后 如云般游走
那变换的脚步 让我们难牵手
这一生一世 有多少你我
被吞没在月光如水的夜里
多想某一天 往日又重现
我们流连忘返 在贝加尔湖畔
多少年以后 往事随云走
那纷飞的冰雪容不下那温柔
这一生一世 这时间太少
不够证明融化冰雪的深情
就在某一天 你忽然出现
你清澈又神秘 在贝加尔湖畔
你清澈又神秘 像贝加尔湖畔

阿刁
阿刁住在西藏的某个地方
秃鹫一样 栖息在山顶上
阿刁 大昭寺门前铺满阳光
打一壶甜茶 我们聊着过往
阿刁 你总把自己打扮的像
男孩子一样 可比格桑还顽强
阿刁 狡猾的人有千百种笑
你何时下山 记得带上卓玛刀
灰色帽檐下 凹陷的脸颊
你很少说话 简单的回答
明天在哪里 谁会在意你
即使死在路上
(童声)格桑 妮可 阿七 石榴 东硕 大冰 安子 浮游
(童声)赵雷 三文鱼 胖子 小柳
(童声)卓玛 阿达 英子 回锅肉
阿刁 明天是否能吃顿饱饭
你已习惯 饥饿是一种信仰
阿刁 不会被现实磨平棱角
你不是这世界的人 没必要在乎真相
命运多舛 痴迷 淡然
挥别了青春 数不尽的车站
甘于平凡却不甘平凡的腐烂
你是阿刁 你是自由的鸟
灰色帽檐下 凹陷的脸颊
你很少说话 简单的回答
明天在哪里 谁会在意你
即使死在路上
命运多舛 痴迷 淡然
挥别了青春 数不尽的车站
甘于平凡却不甘平凡的腐烂
你是阿刁
阿刁 爱情是粒悲伤的种子
你是一棵树 你永远都不会枯

守得云开见月明
0基础学习——了解操作符的那些事(一)_第53张图片

你可能感兴趣的:(学习,c语言,数据结构,windows)