哪些系统下Python不使用IEEE-754双精度浮点数?
Python运行时不遵循IEEE 754浮点标准的场景说明
Python官方文档中多次提及IEEE 754浮点运算规范,但并未对运行时必须采用该标准做强制保证,很多开发者都好奇哪些场景会出现不符合该标准的情况。
CPython的浮点运算实现完全依赖编译时所用C编译器对double类型的定义,就目前已知的所有主流通用系统而言,double类型实际上均为IEEE 754-2008标准定义的binary64类型,符合该标准的主流系统包含以下范围:
- Linux和BSD发行版(如FreeBSD、OpenBSD、NetBSD)
- Intel i386/x86和x86-64架构
- ARM:AArch64架构
- Power:PPC64架构
- MacOS所有官方支持的架构都兼容IEEE 754标准
- Windows x86和x86-64系统
除开上述主流通用平台之外,Python还可在其他小众专用平台上编译构建,但目前暂不明确这类小众平台的实际浮点实现情况,只有在这类非常规平台上运行Python时,才有可能出现不遵循IEEE 754标准的情况。
内容的提问来源于stack exchange,提问作者Sam Mason
相关产品推荐
相关产品推荐

