计算机组成原理——浮点数表示方法

最好举例说明!... 最好举例说明! 展开
 我来答
百度网友d9c0364
推荐于2019-10-11 · TA获得超过8945个赞
知道小有建树答主
回答量:179
采纳率:0%
帮助的人:7.5万
展开全部

就是在二进制中,一个数的小数点可以可以通过乘以2的幂次来改变位置,这是其原理 。

浮点数的组成:阶符+ 阶码 +数符+ 尾数

计算机中表示浮点数的字长通常为32位,其中7位作阶码,1位为阶符,23位尾数,1位作数符

例如用2个字节表示一个浮点数(32写起来麻烦,所以用2个字节就是16位来举例,呵呵希望谅解) (72.45x10^5)D先换成普通二进制数(11011101000110011001000)B

然后开始像十进制数的科学计数法那样写成约等于(0.1101110)Bx(2^23)D

之后再将后半部分的(2^23)D转换成(2^10111)B

于是整个数就变成了(0.1101110x2^10111)B

在计算机中表示成0001011101101110 其中第一个0是阶符表示指数是正的第九个0表示尾数是正的他们中间的就是阶码,后面的就是尾数。

浮点表示法是已知的C/C++编译器都是按照IEEE(国际电子电器工程师协会)制定的IEEE浮点数表示法来进行运算的。这种结构是一种科学表示法,用符号(+或-)、指数和尾数来表示,底数被确定为2。所以在IEEE浮点数表示法里,一个浮点数为尾数乘以2的指数次方再加上符号。

float规格float共计32位,4字节由最高到最低位分别是第31、30、29、……、0位,则:31位是符号位,1表示该数为负,0表示为正。30-23位,一共8位是指数位。22-0位,一共23位是尾数位。3、转换例子按照IEEE浮点数表示法,将float型浮点数123456.0f转换为二进制(注:这里的f表示浮点数,为十进制数,不是表示16十六进制)。

处理不带小数的浮点数时,直接将整数部转化为二进制表示:11110001001000000也可以这样表示:11110001001000000.0然后将小数点向左移,一直移到离最高位只有1位:1.11100010010000000共左移了16位,所以原数就等于:1.11100010010000000*(2^16)。 可知尾数为1。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式