十进制转二进制:
先把这行数字写在草稿本上(顺序别搞反了):2^7 表示 2的7次方
2^7 2^6 2^5 2^4 2^3 2^2 2^1 2^0
128 64 32 16 8 4 2 1
0 0 0 0 0 0 0 0
十进制25转二进制: 0 0 0 1 1 0 0 1
25 =2^4+2^3+2^0 这里运用的是最快解,即最快凑成25的数相加,且在相应的数下面写1, 其他数字不变,即25=2^4+2^3+2^0,其中包含了2^4、2^3、2^0,所以就 在这三个数下面写上数字1,所以十进制25转二进制结果为: 0001 1001
说到原码+反码+补码,那就得区分正负数。
正数(严谨来说是叫无符号数)的原码、反码、补码都一样,由于正数的原码都一样,所以下面就着重将负数的原码、反码、补码
负数的原码就是 先 把该数当作正数看待,且求出该“正数”的二进制数,之后将求出的这个二进制数的符号位变为1
打个比方:将十进制数25和-25转为二进制数:
PS:二进制数最左端的数字为符号位:0代表正,1代表负。
25的原码是:0001 1001
-25的原码就是将25的原码最左边的0变为1就可以了(这里变的就是符号位),即:1001 1001
所以,负数的原码就是将正数的原码最左边的数变为1就可以了(即改变符号位就可以了)。
反码:就是在原码的基础上按位取反,即符号位不变,其他位置都取相反的数(这里拿-25举例子):
-25的原码: 1001 1001
所以反码为:1110 0110
补码:就是在反码的基础上,最右边的数加1
即-25补码为:1110 0111