计算机组成原理问题,有关原码,补码的定义计算机组成原理 唐朔飞版 p221 当x=0时 [+0.0000]原=0.0000 [-0.0000]原=1-(0.0000)=1.0000 可见[+0]原 不等于[-0]原,即原码中的“零”有两种表示形式.我的疑问是1
来源:学生作业帮助网 编辑:六六作业网 时间:2025/02/02 14:12:20
计算机组成原理问题,有关原码,补码的定义计算机组成原理 唐朔飞版 p221 当x=0时 [+0.0000]原=0.0000 [-0.0000]原=1-(0.0000)=1.0000 可见[+0]原 不等于[-0]原,即原码中的“零”有两种表示形式.我的疑问是1
计算机组成原理问题,有关原码,补码的定义
计算机组成原理 唐朔飞版 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的反码
计算机组成原理问题,有关原码,补码的定义计算机组成原理 唐朔飞版 p221 当x=0时 [+0.0000]原=0.0000 [-0.0000]原=1-(0.0000)=1.0000 可见[+0]原 不等于[-0]原,即原码中的“零”有两种表示形式.我的疑问是1
问题一:
原码中,0有两种表示形式:1(符号位)000与0(符号位)000
你可能认为这是多余,恰恰相反,这是必要的.所以定义中才要强调【≥】.
至于为什么必要,鄙人猜测是能使计算机更好的表达【数的极限】.
比如 lim(a→负0) = 原码负0,lim(a→正0) = 原码正0
或许还有别的用途.鄙人没能查到.但楼主要相信 定义中强调了必要性.
问题二:
楼主是不是被0.0000和1.0000的小数点迷惑了? 那是唐朔飞为了让你看清楚 故意点个点.
那不是小数点,而是分隔符号位和绝对值位的【标志】.
整数0和小数0不是一回事.小数0是科学计数法(浮点数)记的.
问题三:
按道理说,-1不是小数,它根本就没有【小数补码形式】,而只可能拥有【整数补码形式】.
可是当人们定义出【小数补码定义】时,惊奇的发现,如果把-1当作小数而去用【小数补码定义】求它的“小数补码”,它居然是符合规则的.那果断批准,批准-1拥有小数补码形式!
(楼主现在应该知道了,这是假设惹的祸.-1固然不是小数,但假设它是小数,于是发现了新大陆——-1的小数补码表示法)而这个假设是有根据的,它的根据就是下面这句话:
【小数补码定义】决定了【-1虽然不是小数,但它可以通过小数补码来表示】
楼主请尽情的批 判唐朔飞吧.他的意思是对的,可是写出来容易被误解成以下:
使用【哪种码】(比如原码、补码) 和他们表示的是【整数0还是小数0】是两个概念!
整数0 有原码表示、补码表示等,小数0 阶码尾数也分原码表示、补码表示,
唐朔飞相当于在说“小数0不是补码呐”这根本就是两个概念.
下面是我重新写的课文,供楼主参考:
//P223 L17
当用补码表示小数时,由于补码不像原码那样有正负0之分,所以比原码能额外表示1个数,
这个额外能表示的数——根据定义——就是-1,虽然它并不是小数,但是在【小数补码】的世界里,可以用【小数的形态】表示出-1这个整数. 我们人类在数学上认为-1是整数,而在
补码计算机的眼中,-1就好像是一个小数一样,和别的小数(补码)拥有相同的形态.