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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

1、原码、反码、补码的基础概念和计算方法。
①原码:就是符号位加上真值的绝对值, 即用第一位表示符号, 其余位表示值. 比如如果是8位二进制
[+1]原 = 0000 0001 ;[-1]原 = 1000 0001  因为第一位是符号位,所以八进制取值范围就 是-127~127.
②反码:就是原码取反,正数反码就是本身,负数的反码就是在原码基础上符号位不变,其余位取反。
[+1] = [00000001]原 = [00000001]反
[-1] = [10000001]原 = [11111110]反
③补码:正数补码就是其本身,负数补码是在其原码基础上,符号位不变其他位取反在+1.
[+1] = [00000001]原 = [00000001]反 = [00000001]补
[-1] = [10000001]原 = [11111110]反 = [11111111]补
2、发现用反码计算减法, 结果的真值部分是正确的. 而唯一的问题其实就出现在"0"这个特殊的数值上. 虽然人们理解上+0和-0是一样的, 但是0带符号是没有任何意义的. 而且会有[0000 0000]原和[1000 0000]原两个编码表示0.
3、使用补码, 不仅仅修复了0的符号以及存在两个编码的问题, 而且还能够多表示一个最低数. 这就是为什么8位二进制, 使用原码或反码表示的范围为[-127, +127], 而使用补码表示的范围为[-128, 127].

2 个回复

正序浏览

谢谢
回复 使用道具 举报
总结的不错
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马