c ++ 20和浮点字节序

时间:2020-03-22 03:37:58

标签: c++ floating-point endianness c++20

简短:

  • c ++ 20 endian建议仅处理整数类型,还是提供有关浮点类型的信息?
  • 是否会添加有用的标准库函数来处理字节序?

在平台之间正确地进行序列化是困难的,并且浮点字节序的怪异可能性更加令人沮丧(对决定ARM中端浮点数的人来说是个好主意)。不幸的是,我能在网上找到有关c ++ 20功能的文章提到整数类型,但没有浮点数。

标准委员会是否忽略浮点和双精度类型?
请告诉我不。

此外,我能找到的文章似乎暗示添加的内容仅提供了一种检测字节序的方法,而没有提供用于在不同编码之间进行转换的标准库函数。如果真是这样,这似乎没有比标准化预处理程序定义有用的多了。

了解即将到来的c ++ 20提案的人是否可以提出(或不包括)新的字节序功能? (...如果您碰巧知道“为什么”会很棒)

1 个答案:

答案 0 :(得分:2)

c ++ 20 endian建议仅处理整数类型,还是提供有关浮点类型的信息?

按现状,它会告诉您所有标量类型是大字节序还是小字节序-恐怖的是,它们不是,您正在处理 mixed 耐力。

scalars中包括所有算术类型,包括整数和浮点类型。

原因:纯粹的猜测,但是当看到成千上万的C类型的对等版本移植到C ++时进行可移植的测试,这是为什么

此外,我能找到的文章似乎暗示添加的内容仅提供了一种检测字节序的方法,而没有提供用于在不同编码之间进行转换的标准库函数。如果真是这样,这似乎没有比标准化预处理程序定义有用的多了。

您只能通过一种便携式的方式来检测病情。