小叮当的任意门

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

操作符分类

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

1. 算数操作符

这是我们加 ,减 ,乘 ,除 ,取模(取余)

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

讲一下 / 除法操作符


这里的除号就是我们上小学学的一个意思。
备注:对于除法操作符,两边的操作数都是整数,所以执行起来的是整数除法。
如果想要计算出小数,除号的两端至少有一个操作数是浮点数

> 那如果想计算出小数点后面一位呢?

直接在lf前面加.1,就可以了。

%取模(取余)

这个操作符计算的是整除之后的余数

取模操作符的两边的操作数只能是整数

不然会报错哦

2. 移位操作符

二进制(小插曲)

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

12——数值

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

正数

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

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

负数

同理可得:第一个数字是1——为负数
负数的原码,反码,补码是要经过计算的
反码是原符号位不变,其他位按位取反,就是反码
补码是反码+1

其实反过来也可以

// //10000000000000000000000000001010 - 原码
// //11111111111111111111111111110101 - 反码
// //11111111111111111111111111110110 - 补码
//
// //11111111111111111111111111110110 - 补码
// //10000000000000000000000000001001
// //10000000000000000000000000001010 - 原码
//
// int b = -10;
说明这几条路都是行得通的哦

左移动操作符


直接上图

这就是具体原理

a<<1的结果是移动之后的效果,但是a的是不变的。

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

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

右移操作符


算数操作符
左边用原来的符号填补,右边就嘎了

下面就来直接上手

下面就让我来讲解一波:先看a(负数),因为存储的,运行的是补码,所以先要从原码变换到补码。然后在向右移动,最后惊奇的发现移了好像没移(对于这个数字)。后面打印出来的是需要原码的哦,再变换,好家伙又回去了。

为什么有要变来变去呢? 看图就知道了,内存中的值还真的是这样>

这里说明一下

你说这是个啥玩意蛮

3. 位操作符

& 按位与 &

先来说明按位与操作符,对于的二进制位有0,则为0,两个同时为1才为1
注意最后为正哦

按位或 |

按2进制位或
对应的二进制位有1则为1,两个同时为0则为0

按位异或 ^

按2进制位异或
对应的二进制位:相同为0,相异为1

下面我们来一个题

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

还有一种小天才的写法

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

下面我们就用异或操作符来写
讲解:

所以按位异或是支持交换律
异或操作符交换2个变量
但是 可读性差,效率也不如使用临时变量的方法
而且只能针对整数的交换
酱油瓶tmp才是王道

赋值操作符

赋值操作符是一个非常不错的操作符,
他可以让你得到一个你满意的值,也就是你可以给自己重新赋值。


注意:

一定要规范写作
不然就是没有初始化

复合赋值符


学完前面的,这个综合起来也就简单

单目操作符

a +1; + a 1 操作符有2个操作数,为双目操作符
单目操作符,只有一个操作数

然后我们再补充一下:布尔类型
注意引用头文件

闰年也可以判断
最后

unsigned与unsigned 似乎与2进制有关,具体看图去![请添加图片描述](https://img-blog.csdnimg.cn/3fac6536855a43d6aec34af1d9ea8f15.png


最后居然不是-10
下面来说一下解引用操作符

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

所以就可以推出*p是把它变回去吗?

现在知道了吧, pa 是解引用操作
int
* pa才是储存地址的

强制转换类型

这个就是你在垃圾桶里发现一个快递单,上面有张三地址,后面找到张三说我找到你家了

这个具体好像我上一篇三子棋也有讲
这里的a可以不用括号,这是为什么呢?



但是如果int,上面不加括号会怎么样?

怎么能上类型呢?

这是全面表示

下面看看打印的是什么
2和5哦因为在便译那一步的时候就结束计算了
为2
自己看看吧

多个也不要怕哦


这些都是前面说过的哦

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

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

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

守得云开见月明

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

  1. 0基础学习数据分析必须掌握的技能有哪些?

    现如今,我们处于一个互联网发展的时代,大大小小的企业对于数据分析相关岗位的需求逐渐增加,因为所有的企业都有数据,企业需要让数据分析师通过整理.分析企业数据总结出企业目前的发展现状,并且为企业做出下一步 ...

  2. python 内存溢出能捕获吗_从0基础学习Python (19)[面向对象开发过程中的异常(捕获异常~相关)]...

    从0基础学习Python (Day19) 面向对象开发过程中的=>异常 什么是异常 ​ 当程序在运行过程中出现的一些错误,或者语法逻辑出现问题,解释器此时无法继续正常执行了,反而出现了一些错误的 ...

  3. 从0基础学习Python(13)[面向对象思想]

    从0基础学习Python (Day13) 面向对象思想 1.面向对象编程介绍 面向对象 概述 ​ 目前软件开发技术中两种主流思想:面向过程.面向对象 ​ 面向过程思想出现较早,C语言 ​ 面向对象思想 ...

  4. 卷毛0基础学习Golang-基础-slice切片

    卷毛0基础学习Golang-基础-slice切片 持续更新中---- 切片简述 数组的长度在定义之后无法再次修改:数组是值类型,每次传递都将产生一份副本.显然这种数据结构无法完全满足开发者的真实需求. ...

  5. 卷毛0基础学习Golang-并发编程,01 什么是并发

    卷毛0基础学习Golang-并发编程,什么是并发 Go并发编程 概述 简而言之,所谓并发编程是指在一台处理器上"同时"处理多个任务. 随着硬件的发展,并发程序变得越来越重要.Web ...

  6. 2023 Data数据分析岗前景如何?0基础学习数据分析成功上岸,3个月掌握令人惊叹的sql能力!...

    Date数据分析师的发展路线! 从事数据分析相关工作,按职业发展方向大致分为两类. [1]业务路线:业务分析--数据分析师--部门leader--管理高层 一般在大中型企业为业务持续增长带来价值,比如 ...

  7. 全景丨0基础学习VR全景制作,平台篇第13章:热点功能-总览介绍

    全景丨0基础学习VR全景制作,平台篇第13章:热点功能-总览介绍 大家好,欢迎观看蛙色VR官方--后台使用系列课程! 一.热点功能概览 热点,指在全景作品中添加各种类型图标的按钮,引导用户通过按钮产生 ...

  8. 【ASP.NET Core Web API 6.0 基础学习】

    ASP.NET Core Web API 6.0 基础学习 半夏创建Web Api 6.0教程 返回时间格式化 Swagger注释和版本控制 使用appsetting.json的数据 IOC注入,使用 ...

  9. 0基础学习arduino(一)

    0基础学习arduino(一) Arduino简介 Arduino是一款便捷灵活.方便上手的开源电子原型平台.包含硬件(各种型号的Arduino板)和软件(ArduinoIDE).由一个欧洲开发团队于 ...

最新文章

  1. 向大家推荐一个C/C++通用Makefile
  2. DirectShowPlayerService::doRender: Unresolved error code 0x80040266 (IDispatch error #102)
  3. 新增的querySelector、querySelectorAll测试
  4. 课程及其编码字典python_【课程15】Python字典
  5. SpringMVC响应Restful风格请求404
  6. NS2安装笔记---SUSE Linux
  7. Docker容器的自动化监控实现
  8. 如何检测支付宝接口中notify_url.php有没有返回,微信小程序支付成功,但是notify_url接收不到回调如何排查此问题?...
  9. 字节跳动在京斥资50亿购置新大楼:数千名员工已入驻
  10. map按kye排序 按value排序
  11. maven+springboot整合mybatis(十二)
  12. vim 批量替换字符串_Vim 有什么奇技淫巧?
  13. AndroidStudio安卓原生开发_Intent传过来的值会自动变化_太奇怪了_你碰见过嘛_Http并发引起的问题?_可通过静态变量传值的方式解决---Android原生开发工作笔记130
  14. 多个 ng-app 中 Controllers Services 之间的通信
  15. Windows核心编程MFC_gdi+发光字
  16. linux搭建dlna媒体服务器,Serviio:一款功能强大的DLNA媒体服务器软件
  17. 计算机开机按f1f2,电脑开机总是提示按f1 f2问题的解决办法
  18. 程序员生存定律--成长路上常见的坑(2)
  19. python爬虫网易云音乐评论最多的歌_Python爬虫44万条数据揭秘:如何成为网易云音乐评论区的网红段子手?...
  20. 关于Ai打开图片,颜色变色问题

热门文章

  1. 循环问“老婆,你爱我吗?”,如果回答的是“爱”, 那么就结束循环,否则就继续问。用程序描述这个故事!
  2. 【跨域】跨域原理 + springboot跨域配置(万能版)
  3. Qt 项目:windows计算器
  4. 解决springboot上传图片无法显示问题
  5. java全拼_Java获取汉字对应的拼音(全拼或首字母)
  6. 关于“卷积”的通俗解释
  7. RPA教学——键盘输入技巧
  8. 同行动态:海隆软件96%销售额来自出口
  9. 百度离职总结:如何做个好员工?
  10. 牛客网刷编程题 2020年05月27日