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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© RichardM   /  2015-7-5 14:48  /  1986 人查看  /  33 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

计算机的运算都是以补码的形式计算的。。
回复 使用道具 举报
原码就是符号位加上真值的绝对值, 即用第一位表示符号, 其余位表示值. 比如如果是8位二进制:   [+1]原 = 0000 0001  ;[-1]原 = 1000 0001 反码的表示方法是: 正数的反码是其本身 负数的反码是在其原码的基础上, 符号位不变,其余各个位取反. [+1] = [00000001]原 = [00000001]反 [-1] = [10000001]原 = [11111110]反 如果一个反码表示的是负数, 人脑无法直观的看出来它的数值. 通常要将其转换成原码再计算. 补码的表示方法是: 正数的补码就是其本身 负数的补码是在其原码的基础上, 符号位不变, 其余各位取反, 最后+1. (即在反码的基础上+1) [+1] = [00000001]原 = [00000001]反 = [00000001]补 [-1] = [10000001]原 = [11111110]反 = [11111111]补 对于负数, 补码表示方式也是无法直观看出其数值的. 通常也需要转换成原码在计算其数值.  对于正数因为三种编码方式的结果都相同: [+1] = [00000001]原 = [00000001]反 = [00000001]补 对于负数: [-1] = [10000001]原 = [11111110]反 = [11111111]补
回复 使用道具 举报
计算机无论是计算还是存储,都是以二进制补码进行的。
回复 使用道具 举报
正数的原码反码补码都是本身负数的反码最左边的1代表符号不变其它的数和原码相比0变1,1变0补码就是反码+1
回复 使用道具 举报
1115302782 来自手机 中级黑马 2015-7-6 07:31:17
25#
我们刚讲过这个
回复 使用道具 举报
学习了!!
回复 使用道具 举报
我也想来看看
回复 使用道具 举报
看看计算机组成原理吧
回复 使用道具 举报
正数的原码,反码,补码都一样,负数的原码最高位是1(符号位),反码是除了最高位以外其他地方都取反,补码是在反码的基础上加1
回复 使用道具 举报
又复习了一遍
回复 使用道具 举报
大家都回答的很好,复习了下
回复 使用道具 举报
我知道点 源码是虚拟机的  反码和补码是自己算的
回复 使用道具 举报
2楼回答的好
回复 使用道具 举报
二楼的解答很详尽,学习了!
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 加入黑马