资讯专栏INFORMATION COLUMN

操作符详解(一)(跑路笔记)

zone / 3387人阅读

摘要:所以今天搞一下操作符详解的第一部分。按位或只要有就为不上图类比按位与得到的结果依旧为补码使用时要记得变成原码。


前言

扫雷的爆炸展开可能要拖一拖了

刚刚学完操作符不写个笔记记录一下实在可惜。
所以今天搞一下操作符详解的第一部分。

一、操作符分类

运算操作符

分为 加’+’ 减 ‘-’ 乘 ‘*’ 除 ‘/’ 取模 ‘%’
优先级按顺序为 大于大于取模大于加大于
(取模是得到余数例如 2%3 = 2; 5%3 = 2)

计算机储存整数原理

我们在了解移位操作符的时候必须要先了解计算机储存整数原理:
整数一般以二进制位储存到计算机中
以补码(马上就介绍)的形势存储
我们计算机将整数的二进制位分成了原码 反码 补码
原码就是整数的二进制位比如1的原码就是
00000000000000000000000000000001
整数的原码反码补码相同(都同上方原码)

负数原码例如-1为
10000000000000000000000000000001

反码为原码按位取反我们只需知道它可以将二进制的0转换为1将1转换为0

我们需要记得补码是我们操作的对象即可进行下一步的位移操作符介绍。

移位操作符

注: 操作符的对象只能是整数
分别有左移’<<"和右移 ‘>>’ 左移右移都是对补码的二进制位的位移比如 1<<5 位为32就是因为<<是对二进制位进行的操作下面我会用图片进行说明(下面先讲了左移操作符)


这个结果就是将1的二进制位整体左移了5位使1变成了32
再比如-5

我们直接将因左移而出内存的数字去除在右侧补0
右移操作符
“>>”
右移操作符又与左移操作符不同
右移操作时分为两类进行操作

  1. 逻辑右移(补上0)
  2. 算数右移(补原来的符号位)
    (具体是那种右移由编译器决定,常见的编译器大多为算数右移
    先介绍逻辑右移
    逻辑右移是将整体右移后在左边补上0
    上图!

    我们直接将出内存的二进制舍去不要在空缺的位置补上0
    算数右移
    同上的逻辑右移我们将出内存的不要在左边补上原来的符号位

位操作符

(只对整数操作,且他们都是对补码进行操作)
& 按位与
| 按位或
^ 按位异或

首先按位与 将两个数字的二进制位进行比较同为一则为一一个为零则为零
上图!

返回最下方的数字 及3(这里我们不禁疑惑这里的结果是原码还是补码呢?)下面我们用-1 和-3来解答
上图!


结果看出是补码打印时依旧要进行转换得到原码。
按位或:(只要有1就为1)
不bb
上图!

类比按位与得到的结果依旧为补码使用时要记得变成原码。
按位异或 ‘^’
相同为0 相异为1
上图!!!!!

注意得到的依旧为补码要使用时一定要将它恢复成原码

总结

今天的操作符就到这里吧:
下面进行小结
今天主要讲解了位操作符和移位操作符都是对计算机储存的二进制位进行的操作我们主要要记得
1.整数二进制中原反补码相同负数要进行运算
2.我们计算机都是对补码进行运算如果运算出负数记得将它恢复成原码。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/123354.html

相关文章

发表评论

0条评论

最新活动
阅读需要支付1元查看
<