发布网友 发布时间:2022-04-23 18:23
共3个回答
热心网友 时间:2023-10-12 19:59
补码减1得到反码,反码的各个bit取反得到原码,原码再加上符号位就得到结果了。
由于D8被看作是补码,它的2进制是11011000,最高位为1的正好是第8位,所以用1个字节来表示就够了,按照上面说的计算方法为:
((0xD8 - 1) Xor 0xFF) * (-1) = -(0x28) = -40
其中Xor是求异或的符号,每种语言求异或的标识符可能不同,这里异或符号用的是附件中计算器上的按钮表示
热心网友 时间:2023-10-12 19:59
补码是在只有负数的情况下才出现的,
补码是原数的绝对值取反+1或原数不带符号位取反+1得来的
d8转为二进制是11011000 我们先不考虑它的符号位,先把加的1减去得11010111取反得到原码101000即40因符号位为1是个负数即-40
热心网友 时间:2023-10-12 20:00
11011000 带符号数的补码
11010111 带符号数的反码
10101000 带符号数的原码
所以它所表示的十进制数是:-40