移位操作符

目录

介绍:

类别:

原码,补码,反码的介绍:

左移操作符“<<":

右移操作符 ">>":


引言:操作符相信我们大家都不陌生,今天我们来介绍一个较为抽象的操作符——移位操作符


介绍:

首先我们先来想什么是操作符呢,操作符其实无时无刻的围绕在我们各种编程的代码之间,最常见的算术操作符(也就是 + - * /  %),可以轻松的实现各种运算,这个我们就不再多说了,那么移位操作符也是进行一种运算的,只不过不同的是进行的是二进制运算.


类别:

<<  左移操作符 :向左移动一位

>>  右移操作符 :   向右移动一位

注意(这里移动的都是二进制位,操作数只能是整数)


原码,补码,反码的介绍:

整数的二进制表示形式有三种:原码、补码、反码

原码:按照数值的正负直接写出的二进制序列就是原码

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

补码:反码的二进制+1,得到补码

来两张图进行详解:

移位操作符_第1张图片

移位操作符_第2张图片


左移操作符“<<":

规则:左边抛弃,右边补

移位操作符_第3张图片移位操作符_第4张图片

 为什么这里是14和-14呢,我们往下看!

移位操作符_第5张图片

移位操作符_第6张图片

 通过观察发现<<1位有×2的作用


右移操作符 ">>":

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

(大多数编译器采用的都是算数右移,所以逻辑右移我们不过多介绍)

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

原来是正,就补0

原来是负,就补1

移位操作符_第7张图片

 我们来分析一下为什么输出的是-5

移位操作符_第8张图片

 同样右移一位由÷2的作用

以上就是今天给大家带来的移位操作符的详解,感谢阅读!!!

你可能感兴趣的:(c语言,开发语言)