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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Mal 中级黑马   /  2015-7-20 22:17  /  853 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


数据在计算机内部是以补码的形式储存的

数据分为有符号数和无符号数

无符号数都为正数,由十进制直接转换到二进制直接存储(其实也是该十进制的补码)即可。

有符号数用在计算机内部是以补码的形式储存的。

( 正数的最高位是符号位0,负数的最高位是 符号位1。
对于正数:反码==补码==原码。 对于负数:反码==除符号位以外的各位取反。补码=反 码+1)

以二进制的补码存储

正数:三码合一

负数:反码 = 源码取反,补码 = 反码+1, 或者 补码 = 源码取反 + 1,
前提都是符号位不变


正数的首位地址为0,其原码是由十进制数转换到的二进制数字

负数的首位地址为1,其原码后面的位也为10进制数转换过去的二进制数字,都是用补码方式表示 有符号数的。


1)原码
原码就是符号位加上真值的绝对值, 即用第一位表示符号, 其余位表示值.

一个数的绝对值的二进制表示

正数:最高位改0
负数:最高位改1

2)反码
反码的表示方法是:

正数的反码是其本身

负数的反码是在其原码的基础上, 符号位不变,其余各个位取反.


3)补码
补码的表示方法是:

正数的补码就是其本身

负数的补码是在其原码的基础上, 符号位不变, 其余各位取反, 最后+1. (即在反码的基础上+1)



总结

正数三码合一:

负数:
原码负号位不变,其余个位取反

补码:
原码符号位不变,其余各位取饭+1,反码+1

2 个回复

倒序浏览
发现你了
回复 使用道具 举报
牛比,大神,
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马