计算机存储数据的时候,使用第一位表示数字的正负,0代表正数,1代表负数。计算机存储正数的时候直接存储正数的原码,存储负数的时候存储负数的补码。
什么是原码、反码、补码
正数:原码、反码、补码相同
负数:原码(符号位为1)
反码(符号位不变,其余位数取反)
补码(反码+1)
只针对二进制来说的,所以在进行运算之前会转换成二进制,再运算。
&按位与:对应位都是1才是1
|按位或:对应位有一个1,就是1
~按位取反:1变成0,0变成1
^按位异或:对应位不一样才是1
<<左移(高位抛弃,低位补0)
>>右移(高位按照符号位补齐,低位抛弃)
>>>无符号右移(忽略符号位,高位补0,低位抛弃)