2

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

我搜索了它,但找不到任何必要的信息。任何信息将不胜感激。提前致谢。

4

1 回答 1

2

在现代机器上的架构之间移植代码的最大区别是:

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

在谈论真正的旧机器时,还有一些事情:

  1. 机器字的长度:与指针大小有关
  2. 一个字节中的位数:现在标准化为 8,但 40 多年前,情况并非如此。
  3. 浮点数的表示。在 IEEE-754 之前,没有标准,不同的机器有不同的表示。具有两种浮点类型的 VAX 可能是最著名的例子之一。
  4. 负数的表示。今天的机器使用二进制补码。Cray 1 以使用补码而著称。
于 2012-07-09T12:40:55.437 回答