在不同计算机体系结构之间传输数据时出现问题



我有一个关于不同计算机体系结构之间的数据传输的问题。在此过程中专门转换整数、浮点数和字符类型数据时会出现什么样的问题?您能否简要介绍这些特定类型的信息?

我搜索了它,但找不到任何必要的信息。任何信息都将得到赞赏。提前谢谢。

在现代计算机上的体系结构之间移植代码时,最大的区别是:

  1. 指针的大小:例如 32 位与 64 位。
  2. 长整型的大小:通常与指针的大小相同。
  3. 字节顺序:大端序或小端序(或一些古代机器是中端序)。
  4. 二进制浮点与十进制浮
  5. 点:十进制浮点是2008年添加的最新标准。这不是一个常见的问题,但许多机器没有硬件支持(IBM Power 机器是唯一的吗?)十进制浮点数,并且有仿真库。

在谈论非常旧的机器时,还有几件事:

  1. 机器字的长度:与指针大小有关
  2. 一个字节中的位数:现在标准化为 8,但 40+ 年前,情况并非如此。
  3. 浮点数的表示形式。 在IEEE-754之前,没有标准,不同的机器有不同的表示形式。 具有两种浮点类型的VAX可能是最著名的例子之一。
  4. 负数的表示形式。 今天的机器使用两个的补码。 克雷1以使用一个人的补语而闻名。

最新更新