原码,补码,反码
要讲操作符,我们必须要先了解一个东西,就是原码,补码,反码,而这些都是在二进制中进行运算的。一个整形整型变量是4个字节,一个字节等于八个比特位,那么一个整型变量就是占32个比特位,比如0的二进制就是32个0组成,1的二进制就是31个0和1个1组成。那么正数和负数的二进制有什么不同呢?
(开头的第一个二进制数来区分正数和负数,0就为正数,1就为负数)
正数的原码和反码和补码是一样的,所以不需要进行运算。
而对于负数,原码取反加1得到补码,补码取反加一得到原码。
了解这些我们就能去学习操作符了
操作符
操作符分为左移操作符和右移操作符(都是在二进制的形式下进行操作运算的,计算时都是用补码进行运算,打印出的结果转换为原码)
左移操作符:①左边抛弃,右边补0 ②左移n位相当于原来的数乘以2的n次方
①:抛弃掉最左边的二进制数,在最右边补上0,如01向左移动一位就变成10也就是1变成2
②:这个其实也很好理解,就是上述的例子嘛,向左移动n位相当于在二进制中2的次方数增加了n位。
右移操作符:
分为两种(取决于编译器,通常是算术右移)
1.逻辑右移:左边用0填充,右边丢弃 2.算术右移:左边用原该值的符号位填充,右边丢弃。
同理,右移n位相当于原来的数除以2的n次方