负数补码

负数补码今天做了个很容易出错的题目总结下关于负数补码的知识首先在计算机系统中数据都是以补码存储的正数的补码很简单就等于其二进制原码负数的补码 1 先将负数的绝对值进行二进制转换 2 将最高位即符号位变为 1 符号位为 1 表示负数 0 为正数 3 然后求反码 除符号位其他取反就可以 4 最后求补码即在反码最低位加 1 例如 5 的补码 1 首先绝对值二进制为 000001012 符号位变 1 即 取反码即 补码为强调一点 128 的补码就是

强调一点 -128的补码就是1000 0000这是规定好的 不用推理
在今天那道题目中是用的char型 而char型表示最小负数是-128
如果q求-129的补码
-129的补码需要9位来表示 多了一位 所以要舍弃最高位即舍弃符号位 区别在于 求反码是剩余的八位都要取反 因为符号位已经被舍弃了


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/205142.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 下午6:42
下一篇 2026年3月19日 下午6:42


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号