IEEE-754 "interchange formats" 是什么意思?

What does The IEEE-754 mean by "interchange formats"?

该标准表示它们支持实现之间的浮点数据交换。这里的'implementations'是什么意思?这种交换是如何发生的?

与许多编程标准一样,该标准指定了一组规则。任何遵循这些规则的东西都是标准的实现。根据 IEEE 754-2008 摘要,“符合此标准的浮点系统的实现可以完全以软件、完全以硬件或软件和硬件的任意组合来实现。”

例如,理论上,可以设计一种计算机处理器,它本身支持浮点格式,并且每个 IEEE 754 操作都有一条指令。或者您可以编写一个 C 编译器,它的目标处理器具有一些浮点运算,如加法和乘法,但使用软件例程进行平方根和其他运算。或者您可以编写使用纯 C 整数运算实现所有 IEEE 754 运算的软件,而不依赖于任何特定硬件。其中每一个都可以是 IEEE 754 实现。

浮点行为主要根据表示的数学值指定。对于算术格式,该标准规定了表示什么数字,对它们执行算术运算的结果是什么,等等。交换格式远不止于此;对于交换格式,该标准精确指定了哪些位模式表示哪些值。

因此,如果一个 IEEE 754 实现将一个值放入浮点对象,然后将这些位传输到另一个实现,可能 运行 在完全不同的硬件上,并且该目标实现恢复这些位到具有相同交换格式的浮点对象,则目标对象将具有与原始源对象相同的值和行为。换句话说,交换格式使数据可移植。

这种传输可以通过网络进行,方法是将位存储到磁盘上,然后物理移动到另一台计算机,通过将位(或它们的表示形式,例如十六进制)打印在纸上,然后由人工或其他方式输入。

该标准仅指定从最高有效位到最低有效位序列中的位模式。它没有指定这些位如何分组为字节或这些字节如何排序,因此发送和接收系统必须确保以正确的顺序发送和接收位。