A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 沙子 中级黑马   /  2014-12-15 22:54  /  1195 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

如何不用求反码就能求出补码?有没有更快捷的方法。

8 个回复

倒序浏览
其实很简单,只要记住对正数来说,原码、反码、补码一样。对负数来说,原码最高位是1,代表负数符号,反码是原码各位取反,补码是反码加1,即可!在计算机中补码的表示形式,更利于计算机的计算!

点评

好厉害  发表于 2014-12-16 00:17

评分

参与人数 1黑马币 +2 收起 理由
杨佳名 + 2

查看全部评分

回复 使用道具 举报
顶一下楼上的
回复 使用道具 举报
补码就是一个数的二进制表达形式
回复 使用道具 举报
我的理解:原理就是取反+1,只不过把取反这一步的结果称为反码,加了个名称而已,并不是说有更快捷的方法。
回复 使用道具 举报
顶一楼,应该没什么快捷的方法吧
回复 使用道具 举报
顶一楼的回答
回复 使用道具 举报
先说含义
原码:就是二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。
反码:表示法规定:正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。
补码:表示法规定:正数的补码与其原码相同;负数的补码是在其反码的末位加1。
(1) 原码:在数值前直接加一符号位的表示法。
例如: 符号位 数值位
[+7]原= 0 0000111 B
[-7]原= 1 0000111 B
(2)反码:
正数:正数的反码与原码相同。
负数:负数的反码,符号位为“1”,数值部分按位取反。
例如: 符号位 数值位
[+7]反= 0 0000111 B
[-7]反= 1 1111000 B
(3)补码:
正数:正数的补码和原码相同。
负数:负数的补码则是符号位为“1”。并且,这个“1”既是符号位,也是数值位。数值部分按位取反后再在末位(最低位)加1。也就是“反码+1”。
例如: 符号位 数值位
[+7]补= 0 0000111 B
[-7]补= 1 1111001 B
*****负数的补码*****他的出现是将减法也简化为加法,方便了计算机的运算。负数的补码加上他的绝对值,刚好溢出,也就是模的概念。0(256更高位)-正数,然后进行强制转换,也能得到结果。但我们知道,对于计算机运算,基本操作是位,故采用位运算取反,加一应该是最快的。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马