正数的补码和源码相同。
求负数的补码:1.列出源码。2.符号位不变,其余位按位取反。3.加 1。
例如-15的补码,用8位二进制数字表示,其求补码的过程:
1.源码。1000 1111。
2.反码。1111 0000。
3.补码。1111 0001。
补码求原码
⑴如果补码的符号位为“0”,表示是一个正数,其原码就是补码。
⑵如果补码的符号位为“1”,表示是一个负数,那么求给定的这个补码的补码就是要求的原码。
例:已知一个补码为1111 1001,则原码是10000111(-7)。
因为符号位为“1”,表示是一个负数,所以该位不变,仍为“1”。
其余七位1111001取反后为0000110;再加1,所以是10000111。
上述数据手册8000求其源码
8000 按位取反后是ffff,在加1,变为10000,截取最高位为0000.所以8000的源码是0000.
8000源码是1000 0000 0000 0000 ,反码1111 1111 1111 1111 ,加1为 1 0000 0000 0000 0000.