在计算机语言中我们经常会见到类似原码、补码、反码的概念,那么原码、补码、反码到底是什么呢,它们之间是如何转化的呢?

对于一个正整数来说:原码=补码=反码

例1:1

原码:0 000 0001(最高位为符号位,正数为0,负数为1)

补码:0 000 0001

反码:0 000 0001

例2:-1

原码:1 000 0001(最高位为符号位,负数为1)

补码:1 111 1111(补码=反码+1)

反码:1 111 1110(符号位不变,其他按位取反)

总结

正整数:原码=补码=反码

负整数:反码=原码符号位不变,其他按位取反

补码=反码+1(同样符号位不变)

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐