众所周知,在我们的C语言中有着各式各样的操作符,并且在此之前呢,我们已经认识并运用了许许多多的操作符,都是诸君的老朋友了昂
操作符作为我们使用C语言的一个非常非常非常重要的工具,诸君一定要加以重视,认真理解,学会灵活运用。那么今天,我们就来系统的讲解一下C语言中的各式操作符
一 . 操作符的分类
(1) 算术操作符: + 、 - 、 * 、 / 、 % (2) 移位操作符: << 、 >> (3) 位操作符: & 、| 、 ^ (4) 赋值操作符: = 、 += 、 -= 、 *= 、 /= 、 %= 、 <<= 、 >>= 、 &= 、 |= 、 ^= (5) 单目操作符: !、 ++ 、 -- 、 & 、 * 、 + 、 - 、 ~ 、 sizeof 、 ( 类型 ) (6) 关系操作符: > 、 >= 、 < 、 <= 、 == 、 != (7) 逻辑操作符: && 、 || (8) 条件操作符: ? : (9) 逗号表达式: , (10) 下标引用: [ ] (11) 函数调用: ( ) (12) 结构成员访问: . 、 ->以上为诸君罗列了一些在C语言中我们常用的操作符,在此之前,我们已经介绍过了算术操作符、赋值操作符、逻辑操作符、条件操作符和一部分单目操作符
(不知道的诸君呢,可以移步到以下链接看看哦)
算术、赋值、复合赋值、单目操作符:C语言中的操作符-CSDN博客
关系、条件、逻辑操作符:关系操作符,条件操作符与逻辑操作符_关系模式操作符-CSDN博客
在讲操作符之前呢,我们需要铺垫一下,所以我们先来认识一下C语言中的原码、反码、补码
二 . 原码、反码、补码
众所周知,计算机用的都是二进制运算法,而在我们的计算机系统中,整数的二进制的表达方式有三种,这就是我们的原码、反码、补码
我们整数分为有符号整数和无符号整数是吧,通俗点儿说,就是有负号的和只有正整数的,那么在这其中,有符号整数的三种表达方式均有符号位和数值位两部分,在二进制序列中,最高位的 1 位是被当做符号位,剩余的都是数值位
符号位用 “ 0 ” 表示 “ 正 ”,用 “ 1 ” 表示 “ 负 ”
正整数的原码、反码、补码都相同,负整数的原码、反码、补码表达方式各有不同
(1)原码
直接将数值按照正负数的形式翻译成二进制,得到的32位数就是该数的原码
(2)反码
原码最高的符号位不变,其他位置依次按位取反(0变1,1变0),就可以得到反码
(3)补码
反码 + 1 就可以得到补码
(补码可以通过取反、 + 1 的操作得到原码)
对于整形来说:数据存放在计算机内存中其实质就是存放的补码
三 . 移位操作符
左移操作符: <<
右移操作符: >>
(移位操作符只能作用于整数)
(1)左移操作符
移位准则:左边抛弃,右边补 0
左移操作符图解:
(2)右移操作符
移位准则:(右移运算分为两种)
1 . 逻辑右移:右边抛弃,左边填 0
2 . 算术右移:右边抛弃,左边用原该值的符号位填充
由此可见,我们VS中默认用的应该是算术右移的准则
逻辑右移图解:
算术右移图解:
注意:对于移位运算符的运用,只能进行移动正单位的操作,不能左移(右移)- 1 单位,这不能代表右移(左移)- 1 个单位
OKK,有关部分操作符的知识点今天就讲到这里,欲知后事如何,且听下回分解,咱们下期见!与诸君共勉!!!
标签:右移,反码,补码,C语言,详解,操作符,原码 From: https://blog.csdn.net/Dove_Xxx/article/details/139869819