1. 程式人生 > >正負數的按位取反~(小技巧)

正負數的按位取反~(小技巧)

取反運算與原碼,反碼,補碼息息相關

正數的按位反:+9
原碼:01001
反碼:01001
補碼:01001

(原碼1)01001——>反碼01001—–>補碼 01001—–>按位取反——>10110(變負數)—–>再位取反+1,符號位不變:11001+1—->11010(原碼2)
11010按位反:-10

負數的按位取反:-9
原碼:11001
反碼:10111 =補碼+1
補碼:10110

負數的補碼按位取反:10111—->01000(變正數,三碼歸一)
01000按位反: 8