计算机组成原理 唐朔飞版 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的反码
计算机中的数,是由高低电平组成的,只有 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
--------------------
计算机组成原理问题,有关原码,补码的定义
原码中,0有两种表示形式:1(符号位)000与0(符号位)000 你可能认为这是多余,恰恰相反,这是必要的。所以定义中才要强调【≥】。至于为什么必要,鄙人猜测是能使计算机更好的表达【数的极限】。比如 lim(a→负0) = 原码负0,lim(a→正0) = 原码正0 或许还有别的用途。鄙人没能查到。但楼主...
计算机组成原理:原码,补码,反码,移码之间的关系?
所谓原码就是二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。反码表示法规定:正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。 补码表示法规定:正数的补码与其原码相同;负数的补码是在其反码的末位加1。
计算机组成原理补码1.0000和10000的原码分别是什么?要详细解释_百度知 ...
1.0000和10000本就是原码。8位字长纯小数,第一位为符号位,小数点在第一位后面,后七位为具体数值,如: -0.1001原码表示为1.1001,反码为1.0110,补码为1.0111;-1的补码为1.0000000。若数据x的形式为x=x0.x1x2…xn(其中x0为符号位,x1~xn是数值的有效部分,也称为尾数,x1为最高有...
计算机组成原理,补码?
一个数在计算机中的二进制表示形式, 叫做这个数的机器数。机器数是带符号的,在计算机用一个数的最高位存放符号, 正数为0, 负数为1。补码的表示方法是:正数的补码就是其本身,负数的补码是在其原码的基础上, 符号位不变, 其余各位取反, 最后+1。
求什么事源码 补码 还有什么码 讲汇编这里不懂
这个《计算机组成原理》里面有具体内容。总共有四种码:原码、补码、反码,移码。都是由和组成的数字列。比如说数字13,把它转换成二进制就是原码01101,第一个0代表符号位为正,把原码除符号位外每位求反,末位加一就是补码00011,把原码除符号位外,每位求反就是反码00010,把补码的符号位由0改为1...
请问计算机中补码,原码,反码,移码的定义以及各自的作用是什么,本人编 ...
变编程的话,不需要多深的理解这几个名词的意思,这几个算属于计算机组成原理的范畴。这些都是数据的的二进制形式的不同表示法,一般计算机中的数据多用补码表示,使用补码能够简化运算器的设计,原码就是数据的原二进制数据,补码,反码是相对于原码来说的,移码多用于浮点数的阶符。
计算机组成原理中移码是怎么回事?
机器数:计算机中用编码表达的数值,包括原码、反码、补码、移码等。1》原码:保持原有的数值部分的形式不变,只将符号用二进制代码表示。0为正,1为负。2》反码:原码数值部分各位取反,符号位:0为正,1为负。3》补码:方法1:原码取反末尾加一,符号位:0为正,1为负。方法2:从右到左遇见...
计算机组成原理中移码是怎么回事?
机器数:计算机中用编码表达的数值,包括原码、反码、补码、移码等。1》原码:保持原有的数值部分的形式不变,只将符号用二进制代码表示。0为正,1为负。2》反码:原码数值部分各位取反,符号位:0为正,1为负。3》补码:方法1:原码取反末尾加一,符号位:0为正,1为负。方法2:从右到左遇见...
原码,补码,反码和ASCII编码有什么不同
关于原码反码补码,您可以借本 《计算机组成原理》看看计算机中数据的表示形式。 首先更正下楼上的说法,正数的原码反码补码都相同,即0011的反码也为0011 !!切记 举例来说:对于正数3,其二进制形式为 0011,我们把 0011成为成为真值,在计算机中用0或1表示正负号,那么 0011在计算机中原码可以表示为00011(...
计算机组成原理
计算补码表示的方法:正数的补码表示与原码表示一样;负数的补码表示是原码表示的符号位不变,数值位逐位取反后最低位加1(反码表示最低位加1)。例:[+63]原=0111111 [+63]反=0111111 [+63]补=0111111 [-63]原=1111111 [-63]反=1000000 [-63]补=1000001 x=0.1011,y=-0.01...