计算机基础
文章平均质量分 78
benben91
这个作者很懒,什么都没留下…
展开
-
原码补码反码
在计算机中,正数直接用原码表示,负数用补码表示。正数的原码,反码,补码值都一样,都等于原码。负数的反码相当于将原码除符号位之外按位取反。负数的补码相当于将原码除符号位之外按位取反加1。 例1:-1 原码:1000 0001 反码:1111 1110 补码:1111 1111 例2:-127 原码:1111 1111原创 2012-07-21 19:20:46 · 445 阅读 · 0 评论 -
补码的本质
关于补码,看过一些书籍和网文,基本都是在“求反加一”的方法、步骤上反复强调,而对于补码的本质和定义,讨论的不足。这就对初学者的造成了误导,使得很多人都纠结在-128的补码求取过程中。关于反码和原码,大家都是在郑重其事的讲解,其实,学过的人都知道,它们的重要性是 0 !做而论道把自己对于补码的认识写在下面,但愿对读者有些帮助。加法器计算机里面,只有加法器,没有减法器,所有的减法运转载 2012-07-21 19:13:05 · 884 阅读 · 0 评论 -
由-128的补码引出的深层次思考。
一般的说法是负数的补码为其原码除符号位外取反然后总体加一,也就是说,要得到一个负数数的补码,要先知道这个负数的原码才行。那么,问题出现了,在8位长度下,-128的原码与反码都不存在,因为一个字节的有符号数的原码范围是: -127 ~ + 127 ,既然不存在 -128的原码那么就无法求出 -128 的补码了,怎么办?其实,这个问题的实际意义是,既然说计算机内部的有符号整数都是补码,那么怎么转载 2012-07-21 19:29:31 · 325 阅读 · 0 评论