band_of_brothersID:band_of_brothers
4514次访问,排名18857(1)好友3人,关注者6
band_of_brothers的文章
原创 12 篇
翻译 0 篇
转载 0 篇
评论 37 篇
最近评论
zhangcunhua:很实质很暴力
zhangcunhua:受教中。。。。
aqiang000000:学习中....
xtdumpling:思考的力量...
xtdumpling:不错,不错!
文章分类
    收藏
      相册
      存档
      软件项目交易
      订阅我的博客
      XML聚合  FeedSky
      订阅到鲜果
      订阅到Google
      订阅到抓虾
      订阅到BlogLines
      订阅到Yahoo
      订阅到GouGou
      订阅到飞鸽
      订阅到Rojo
      订阅到newsgator
      订阅到netvibes
      2008年07月04日

      原创 由-128的补码引出的深层次思考。收藏

      一般的说法是负数的补码为其原码除符号位外取反然后总体加一,也就是说,要得到一个负数数的补码,要先知道这个负数的原码才行。那么,问题出现了,在8位长度下,-128的原码与反码都不存在,因为一个字节的有符号数的原码范围是: -127 ~ + 127 ,既然不存在 -128的原码那么就无法求出 -128 的补码了,怎么办?   其实,这个问题的实际意义是,既然说计算机内部的有符号整数都是补码,那么怎么才能有效的实现这一设计呢?潜意识是:根据上面由原码推导出补码的理论,如果是正数,计算机得到其原码,也就是得到了其补码(正数补码等同于原码),如果是负数,先得到其原码,然后再取反加一就可以了。也就是说按这个思维设计编译器,或计算机电路,就可以了。但是如果出现开始说的 -128的补码问题,这个设计就不能工作了。其实,在真正的设计中,这种获得负数补码的方案根本没有实施过!   拿现代的计算机举例,输入设备只有键盘,通过编辑器程序把键盘的扫描码变成ascii码(一般如此)存储起来,比如输入 ‘a’就存储 0x61 ,输入 ‘5’就存储 0x35 ,这些正整数0x61 ,0x35 就是阅读全文>

      发表于 @ 2008年07月04日 17:54:00|评论(loading...)|收藏

      Csdn Blog version 3.1a
      Copyright © 七擒孟岩