二进制补码与原码换算

补码 = 原码取反再加1

算法1

10010110是补码,应先减去1变为反码,得10010101
由反码取得源码dao即除符号位外其他为按位取反,得11101010,即十进制数的-106

算法2

负数补码速算法,由最低位(右)向高位(左)查找到第一个1与符号位之间的所有数字按位取反的逆运算
10010110是补码,符号位与最后一个1之间的所有数字(10010110)按位取反,得11101010

&按位与运算符:参与运算的两个值,如果两个相应位都为1
|按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1
^按位异或运算符:当两对应的二进位相异时
~按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1。~x类似于-x-1
<<左移动运算符:运算数的各二进位全部左移若干位,左移一位相当于乘以2
>>右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,右移一位相当于除以2

你可能感兴趣的:(数据结构)