负数的位运算源码反码补码取模介绍
参考:
一直都不是很懂负数的位运算,还有反码,补码,源码这些,总结一下
关于反码,补码,源码的定义看参考博客
在每一个二进制数中,最高位是用来表示它的符号的,负数为1,正数为0
原码就是符号位加上真值的绝对值, 即用第一位表示符号, 其余位表示值
比如如果是8位二进制:
[+1](10)= 0000 0001(2) [-1](10)= 1000 0001(2)
正数的反码补码都是其本身
负数:
反码是在其原码的基础上, 符号位不变,其余各个位取反
补码是在其原码的基础上, 符号位不变, 其余各位取反, 最后+1. (即在反码的基础上+1)
负数取模:
根据取模运算的数学定义即可
\[ x mod y=x-y*[x/y] \]