计算机组成原理补码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为最高有效位),则在计算机中的表示形式为:
一般说来,如果最末位xn= 1,前面各位都为0,则数的绝对值最小,即|x|min= 2^(-n)。如果各位均为1,则数的绝对值最大,即|x|max=1-2^(-n)。所以定点小数的表示范围是:2^(-n)≤|x|≤1 -2^(-n)。
扩展资料:
由于“编码总位数为8”的限制,真值-128无法用原码、反码来表示,似乎不能用上述规则来求解补码,但实际上是可行的——只要不管它的最高位即可,操作办法如下:
将128化为二进制为:1 0000000,最高位为1,可以只对舍去最高位后剩余的7位进行处理即可,首先取反得:1111111,加1得:1 0000000,最高位有进位需丢弃,即得:0000000,加上符号位就得补码:1 0000000。
又如,当编码总位数为4时,真值X=+0.101的原码、反码、补码均为:0 101。真值X=-0.101的原码、反码、补码依次为:1 101、1 010、1 011。同理,特例,-1的补码为:1 000。在定点小数中,小数点隐含在第一位编码和第二位编码之间。
按此规则,任何一个小数都可以被写成 :N = NS . N-1 N-2 … N-M。如果在计算机中用m+1个二进制位表示上述小数,则可以用最高(最左)一个二进制位表示符号(如用0表示正号,则1就表示负号),而用后面的m个二进制位表示该小数的数值。
小数点不用明确表示出来,因为它总是固定在符号位与最高数值位之间,已成定论。定点小数的取值范围很小,对用m+1个二进制位的小数来说,其值的范围为:
|N| ≤ 1-2^(-m) 即小于1的纯小数,这对用户算题是十分不方便的,因为在算题前,必须把要用的数,通过合适的 "比例因子"化成绝对值小于1的小数,并保证运算的中间和最终结果的绝对值也都小于1,在输出真正结果时,还要把计算的结果按相应比例加以扩大。
+0 原码00000 反码00000 补码00000 -0原码10000 反码11111 补码00000
当为纯整数的时候,补码比原码能多表示一个最负负的数-2^n (如:10000表示-16)
纯小数时,补码可以多表示一个-1(-1的补码为1.0000)而在原码中-1是不可以被表示出来的。
所以补码可以比原码,反码多表示一个数。。。。。
符号位,在原码取反的时候符号位不变
另外补码反码的符号位可以和数值位一起参与运算..
当为纯整数的时候,补码比原码能多表示一个最负负的数-2^n (如:10000表示-16)
纯小数时,补码可以多表示一个-1(-1的补码为1.0000)
这个是要记住的吗?有没有推理证明?
要详细解释
这种“位数”,有点奇怪! 五位的 CPU,没有吧。
------
补码 1.0000,这应该是“小数-1”的补码。
但是,“小数-1”,没有原码和反码。
------
补码 10000,这应该是“整数-16”的补码。
在字长为五位的计算机中,“-16”也没有原码反码。
变换的方法,楼主应该知道。
--计算机组成原理补码1.0000和10000的原码分别是什么?
楼主给出的这些,也不像是数字呀 !
如果不是数字,什么码,也变不出来。
这就是详细解释。