阶码 尾数 浮点数的运算设浮点数字长16位,其中阶码5位(含1位阶符),以2为底,补码表示;尾数11位(含1位尾符),补码表示,判断下列各十进制数能否表示成规格化浮点数.若可以,请表示.(1)

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/04 03:59:02
阶码 尾数 浮点数的运算设浮点数字长16位,其中阶码5位(含1位阶符),以2为底,补码表示;尾数11位(含1位尾符),补码表示,判断下列各十进制数能否表示成规格化浮点数.若可以,请表示.(1)

阶码 尾数 浮点数的运算设浮点数字长16位,其中阶码5位(含1位阶符),以2为底,补码表示;尾数11位(含1位尾符),补码表示,判断下列各十进制数能否表示成规格化浮点数.若可以,请表示.(1)
阶码 尾数 浮点数的运算
设浮点数字长16位,其中阶码5位(含1位阶符),以2为底,补码表示;尾数11位(含1位尾符),补码表示,判断下列各十进制数能否表示成规格化浮点数.若可以,请表示.(1)3.5 (2)-10^(-4) (3)10^10
求指导

阶码 尾数 浮点数的运算设浮点数字长16位,其中阶码5位(含1位阶符),以2为底,补码表示;尾数11位(含1位尾符),补码表示,判断下列各十进制数能否表示成规格化浮点数.若可以,请表示.(1)
以下纯手打,如果你仔细读完应该就能彻底明白了.
首先,我觉得你应该已经掌握了浮点数表示的相关概念,否则你需要先读懂你的计算机组成原理教材...
下面说十进制怎么转换成二进制浮点数:
二进制里的小数和十进制一样,在转换成指数表示时只需要将尾数左移或右移,同时减或加指数即可.
所以一个十进制数若能够无精度损失地转换成二进制,则这个数在转换成最简分数时,它的分母必须为2的整数次幂(所有整数的分母为1,即2的0次幂),这样就可以先将其整数分子用二进制表示(整数的数制转换当然是没有任何障碍的,小数点就紧接在最低位右边),然后将这个二进制的分子右移那个2次幂分母的幂个数位即可.就像该题第一问的3.5,其实就是7/2,那么用二进制的111表示7,然后右移1位得11.1,就是它的二进制小数表示,再转换成规格化浮点数,就变成0.111x2^2.
但是,若某个数在转换成最简分数时,分母不是2的整数次幂,它就不能无精度损失地转换了.这个道理对10进制来说也同样成立,只有当一个分数的分母可以转换10的整数次幂时(当然,因为10并不是质数,所以此时的分数未必是最简的,如1/2要换成5/10,1/4要换成25/100)才可以无精度损失地转换成十进制小数,所以像1/3,1/7等就只能转换成无限循环,这就有了精度损失.虽然我在这里说小学生都懂的10进制确实有点啰嗦,但将一个分数“有损”地转换成二进制时也必须经过类似的步骤.例如第二问的-1/10000,先不考虑它的负号(这只与补码表示有关),显然分母不能表示为2的整数次幂,但仍必须把这个10进制分母去掉,所以就只能乘以一个差不多大的2的整数次幂,即2^13=8192,然后1/10000就被近似为了1/8192,然后就可以像上一段说明的那样转换成二进制了.但这样的误差未免太大,为了减少误差,可以先把分子分母同时乘以若干倍,使放大后的分母非常接近2的某一整数次幂,然后替换(如将1000/1000000换成1049/2^20,这时的误差就很小了),也可以直接把原数乘以一个非常大的2的整数次幂,比如1T即2^40,然后把小数点后4位直接丢掉,只保留整数部分转换成二进制然后右移40位.考虑到计算难度,我觉得各CPU芯片厂商采用的是第一种方法,但不论如何,浮点数的字长越长,精度就可以达到越高.如果你在编程时将某些经过除法运算后的逻辑上应是整数的浮点数多print几位,你就会发现在小数点后若干个0之后会多出一些很奇怪的数字.总之,类似第二问的数不能无精度损失地转换成二进制浮点,如果你要写一个“有损”的,像我说的方法随便写一个就可以了,因为这取决于具体的近似方法,所以是没有标答的(但请记得尾数要用补码表示).
然后来说第三问.所有的整数都可以“无损”地转换成二进制,但这个数比较大(大于2^30),已经超出了4位阶码能够表示的最大数(1-2^(-10))x2^(2^4-1),所以是完全无法表示的.说到这里,顺便补充一下,因为尾数和阶码均有字长限制,所以即使是表示范围内的数也可能产生精度损失,如2^14+16,由于在规格化时最低位在小数点后第11位,已超出了尾数字长,所以后面加上的16会完全丢失,而只剩下2^14.

阶码 尾数 浮点数的运算设浮点数字长16位,其中阶码5位(含1位阶符),以2为底,补码表示;尾数11位(含1位尾符),补码表示,判断下列各十进制数能否表示成规格化浮点数.若可以,请表示.(1) 将以下数变成规格化的浮点数,并分别按格式一与格式二写出规格化后的浮点数格式一:其原码设浮点数字长为16位,其中阶码5位,尾数10位,符号位1位.格式二:其原码设浮点数字长为16位,其中 什么是浮点数的尾数符号位? 什么是浮点数的尾数符号? 如何判断浮点数运算的溢出 设浮点数字长32位,其中阶码8位(含1位阶符),基值为2,尾数24位(含1位数符)设浮点数字长32位,其中阶码8位(含1位阶符),基值为2,尾数24位(含1位数符),若阶码和尾数采用同一种机器数形 浮点数的尾数能用移码表示吗?为什么? 设有一台16位浮点计算机,符号位为1位,尾数部分10位,阶码部分5位,则它的浮点数 若浮点数用补码表示,则判断运算结果是否为规格化数的方法是为什么选择 “数符与尾数小数点后第一位数字相异为规格化数”? CUP的浮点运算是什么意思? 关于整数运算和浮点数的问题为什么一般情况下整数运算比浮点数运算更快? 在数据的浮点表示法中有效数字是?A基数 Bi阶码 C尾数 D符号码 有一个字长为32位的浮点数,阶码8位(包括1位阶符),用移码表示;尾数23位用补码表示.有一个字长为32位的浮点数,阶码8位(包括1位阶符),用移码表示;尾数22位(包括1位尾符)用补码表示, 关于计算机组成原理的一道题关于一道计算机组成原理的题:设机器字长16位.定点表示时,数值15位,符号位1位;浮点数表示时,阶码6位,尾数10位,各包括1位符号位;阶码的底为2.试求:1.定点原 浮点数的有效数字有什么作用 求问浮点数的范围算法!怎么算一个浮点数的范围啊?比如:设有一台浮点计算机,使用16位表示浮点数,最高位为符号位,尾数为8位定点小数,阶码位为7位,其中阶码的最高位为阶码符号位,问这个 浮点数求和对阶后结果溢出一位数再规格化时溢出的数有可能复原吗譬如:阶码3位,尾数6位求x+y  浮点数运算x=(2的-011次方)×(0.100101)  y=(2的-010次方)×(-0.011110)  x 浮点数与双精度浮点数的区别`呃..