虽然很简单,但我无法通过googling找到它。如我们所知,浮点表示支持更大的数字,并且操作慢于纯整数。此外,我们知道尾数和指数如何用于代表浮点。但是我的问题是,说,在32位系统中,输出超过32位或32位?(其中s=意义,b= base,e=指数)

有帮助吗?

解决方案

用于表示浮点数的尾数和浮点数指数的确切数量从CPU变化到CPU,因此问题肯定是依赖的。

有一个标准非常占主导地位: ieee浮点,并根据<一个href=“https://stackoverflow.com/questions/2234468/do-any-real-world-cpus-not-use-ieee-754”>这个相关所以问题所有你可能的主要CPU今天见面实施它,包括IA32。

根据维基百科,IEEE浮点要求在任何实施方式中提供以下至少一项:

  • binary32:24位螳螂(包括1个符号位)和8位指数
  • binary64:53位螳螂(包括1个符号位)和11位指数

假设32位,你的意思是 ia 32家庭(仅限使用32位的少数架构中的一个),然后浮点寄存器最多可包含80位,意思是,Binary32,Binary64和非IEC 80位格式都可以得到15个指数位。为了区分32位和64位指令,大多数汇编程序使用Size修改器,如世乡古代码或世代odicetagcode。

此外,除了CPU实现之外,语言还可能要求符合IEEE浮点。在C语言中,附件7指定如果编译器自动定义宏生成的QWORD,则保证生成古代替代代码是Binary32和DWORD Binary64。 __STDC_IEC_599__未固定为IEC,因此它可以在IA32拱上使用80位。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top