关于-128和+128的问题

这是-128的补码表示。0没有正负之分;如果不引进补码的概念,计算机计算的结果还真会出现+0、-0的问题,引进了补码的概念就没有这个问题了。上面这个数就是-128,是一个字节能表示的最小的有符号数。它也符合求补码的规则:符号位不变,数据位求反+1。也有一种观点认为-128这个数特别,没有反码与补码。不管怎样,计算机里好多东西都是规定,只要运作起来顺畅就是了。不然,下数的原码、反码、补码都一样你能理解吗?取反了一样,加一了还一样,不可思议吧?这也是规定。有些边缘问题先记住,慢慢理解。这个数是不是-128的补码,可以加一个+128看是否为0来验证。位一个字节已不能表示有符号数+128了,那就要用两个字节,+128就是0000000010000000;-128也要扩展为两个字节,扩展原理是用符号位填满扩展字节(+128扩展也是用符号位填满扩展字节,它的符号位是0),就是1111111110000000。0000000010000000+1111111110000000=0。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容