天天看點

負數的位運算源碼反碼補碼取模介紹

參考:

負數的位運算

原碼, 反碼, 補碼 詳解

一直都不是很懂負數的位運算,還有反碼,補碼,源碼這些,總結一下

關于反碼,補碼,源碼的定義看參考部落格

在每一個二進制數中,最高位是用來表示它的符号的,負數為1,正數為0

原碼就是符号位加上真值的絕對值, 即用第一位表示符号, 其餘位表示值

比如如果是8位二進制:

[+1](10)= 0000 0001(2)

[-1](10)= 1000 0001(2)

正數的反碼補碼都是其本身

負數:

反碼是在其原碼的基礎上, 符号位不變,其餘各個位取反

補碼是在其原碼的基礎上, 符号位不變, 其餘各位取反, 最後+1. (即在反碼的基礎上+1)

負數取模:

根據取模運算的數學定義即可

\[x mod y=x-y*[x/y]

\]

繼續閱讀