操作符包括了很多种有算术操作符,移位操作符,位操作符,赋值操作符,单目操作符,关系操作符,逻辑操作符,条件操作符等等,这里我想对以下这几种进行详细介绍:
目录
预备知识
首先要知道移位操作符针对的是二进制序列,所以移位操作符的操作数只能是整数,那么所谓的“移位”移的就是二进制位
补充内容
关于原码反码补码:
#原码
按照数的正负直接表示的二进制形式
#反码
因为正数的原码反码补码相同,计算方法都是以负数说明,反码就是符号位不变其他位按位取反
#补码
反码+1(不是每位都+1,只有最后一位+1)
这里我们只需要知道一点,在计算机中存储的是补码的二进制,而打印出来如用printf,以及看到的都是原码
以-10为例:
对于上述变化可以通过一个图来展现:
操作符
既然了解以上的知识之后我们会知道移位时我们移动的其实也是补码,但是打印出来是原码要注意分析
左移操作符
#表示
<<(操作数)
##使用规则
左边丢弃,右边补0
#include<stdio.h>
int main() {
int a = 10;
int b = a << 1;
printf("a:%d\n", a);
printf("b:%d\n", b);
}