计算机组成原理问题,有关原码,补码的定义

计算机组成原理唐朔飞版p221当x=0时[+0.0000]原=0.0000[-0.0000]原=1-(0.0000)=1.0000可见[+0]原不等于[-0]原,即原码中... 计算机组成原理 唐朔飞版 p221
当x=0时 [+0.0000]原=0.0000
[-0.0000]原=1-(0.0000)=1.0000
可见[+0]原 不等于[-0]原,即原码中的“零”有两种表示形式。

我的疑问是
1。原码中的定义就是零有两种表示:
小数时
[x]原=x,1>x>=0 或1-x , 0>=x>1
若把定义改为 [x]原=x,1>x>=0 或1-x , 0>x>1不就没有两种表示了吗?
2。为什么0要用小数原码的定义?整数零也有两种表示?还是整数零和小数零是一回事?

同样对于补码(p223)对于小数,若x=-1,有[x]补=2+x=10.0000-1.0000=1.0000
可见-1本不属于小数范围,但却有[-1]补存在。
不理解上述描述,-1都不是小数,怎么能用小数补码的定义求x=-1的补码呢?还有小数补码的定义中为什么要加入-1的定义?即[x]补=2+x ,0>x>=-1

类似还有0的反码
展开
 我来答
手气不错_
2011-06-09 · TA获得超过1010个赞
知道小有建树答主
回答量:155
采纳率:53%
帮助的人:79.5万
展开全部
问题一:
原码中,0有两种表示形式:1(符号位)000与0(符号位)000
你可能认为这是多余,恰恰相反,这是必要的。所以定义中才要强调【≥】。
至于为什么必要,鄙人猜测是能使计算机更好的表达【数的极限】。
比如 lim(a→负0) = 原码负0,lim(a→正0) = 原码正0
或许还有别的用途。鄙人没能查到。但楼主要相信 定义中强调了必要性。

问题二:
楼主是不是被0.0000和1.0000的小数点迷惑了? 那是唐朔飞为了让你看清楚 故意点个点。
那不是小数点,而是分隔符号位和绝对值位的【标志】。
整数0和小数0不是一回事。小数0是科学计数法(浮点数)记的。

问题三:
******-1都不是小数,怎么能用小数补码的定义求x=-1的补码呢?*******
按道理说,-1不是小数,它根本就没有【小数补码形式】,而只可能拥有【整数补码形式】。
可是当人们定义出【小数补码定义】时,惊奇的发现,如果把-1当作小数而去用【小数补码定义】求它的“小数补码”,它居然是符合规则的。那果断批准,批准-1拥有小数补码形式!
(楼主现在应该知道了,这是假设惹的祸。-1固然不是小数,但假设它是小数,于是发现了新大陆——-1的小数补码表示法)而这个假设是有根据的,它的根据就是下面这句话:
【小数补码定义】决定了【-1虽然不是小数,但它可以通过小数补码来表示】

楼主请尽情的批 判唐朔飞吧。他的意思是对的,可是写出来容易被误解成以下:
使用【哪种码】(比如原码、补码) 和他们表示的是【整数0还是小数0】是两个概念!
整数0 有原码表示、补码表示等,小数0 阶码尾数也分原码表示、补码表示,
唐朔飞相当于在说“小数0不是补码呐”这根本就是两个概念。

下面是我重新写的课文,供楼主参考:
//P223 L17
当用补码表示小数时,由于补码不像原码那样有正负0之分,所以比原码能额外表示1个数,
这个额外能表示的数——根据定义——就是-1,虽然它并不是小数,但是在【小数补码】的世界里,可以用【小数的形态】表示出-1这个整数。 我们人类在数学上认为-1是整数,而在
补码计算机的眼中,-1就好像是一个小数一样,和别的小数(补码)拥有相同的形态。
做而论道
高能答主

2022-04-25 · 把复杂的事情简单说给你听
知道大有可为答主
回答量:3万
采纳率:80%
帮助的人:1.1亿
展开全部

计算机中的数,是由高低电平组成的,只有 1 和 0 两种状态,并没有小数点(.)。

那么,计算机中的数,就都是整数,不可能有小数。

但是,我们可以想像,这些数的单位,都是什么呢?

计算机中的 1:可能是 1 吨煤、1 张纸、1 个西瓜 ... 。

也可能是:一个西瓜,切了 128 块。

计算机中的 1,只代表了 1 块而已。即代表 1/128 个西瓜。

--------------------

八位二进制补码,共有 2^8 = 256 组。

  代表了 128 个负数:-128 ~ -1。

  代表了 128 个非负数:0 ~ +127。

范围就是:-128 ~ +127。

--------------------

补码,本来就都是整数。

但是,整数 1,却代表了 1/128 个西瓜。

那么,把整数的范围,都乘以 1/128,就是西瓜的数量:

  -128 * (1/128)  ~  +127 * (1/128)。

即可得:-1 ~ +127/128。

小数补码的下限,-1,就是这么来的。

--------------------

求补码,不要相信“原码反码取反加一”,那些方法,是有错误的。

求补码,要用补码的定义式来求。

定点整数的补码(mod=2^n)是:

  [X]补 = X      ( 0 ≤ X < 2^(n-1) )

  [X]补 = 2^n-| X |  (-2^(n-1) ≤ X < 0 )

      = 2^n + X  

定点小数的补码(mod=2)是:

  [X]补 = X     ( 0 ≤ X < 1 )

  [X]补 = 2 - | X |  (-1 ≤ X < 0 )

      = 2 + X

--------------------


已赞过 已踩过<
你对这个回答的评价是?
评论 收起
沙里波特
2021-03-19 · TA获得超过5248个赞
知道大有可为答主
回答量:1.1万
采纳率:95%
帮助的人:632万
展开全部
计算机中,只有 1、0 这两种代码,并没有小数点。
在这本书中,平白无故的加上了小数点,属于误导。
作者不懂实际的东西,只是自说自话,胡言乱语,就不必再看了。
理解带符号数,应该从补码开始。
原码、反码,只是求补码的中间过程,不用多费心思。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式