发布网友 发布时间:2022-05-16 17:14
共5个回答
热心网友 时间:2023-11-04 23:41
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,在输出真正结果时,还要把计算的结果按相应比例加以扩大。
热心网友 时间:2023-11-04 23:41
0的反码和原码被表示了两次,而0的补码只表示了一次。
热心网友 时间:2023-11-04 23:42
计算机组成原理补码1.0000和10000的原码分别是什么?热心网友 时间:2023-11-04 23:42
只有数字(负数、零、正数),才能变成码(原、反、补)。热心网友 时间:2023-11-04 23:43
-1的原码不能表示? -1的原码如果是八位,不就是100000001么?