正数的位运算就是转二进制后直接运算,包括与或非和左右移等。
负数的位运算,要先转二进制:最高位为1,然后剩余7位按正数处理,然后取反,得到反码,然后加1,得到补码。
利用补码进行二进制运算,如果得到结果最高位为0,则输出结果。
如果最高位为1,则逆向运算,先减一,再取反,得到负数值。
对于左移和右移的操作,不管该数为正或者负,都是增大或减小2^n倍(溢出位舍弃)
正数的位运算就是转二进制后直接运算,包括与或非和左右移等。
负数的位运算,要先转二进制:最高位为1,然后剩余7位按正数处理,然后取反,得到反码,然后加1,得到补码。
利用补码进行二进制运算,如果得到结果最高位为0,则输出结果。
如果最高位为1,则逆向运算,先减一,再取反,得到负数值。
对于左移和右移的操作,不管该数为正或者负,都是增大或减小2^n倍(溢出位舍弃)