c ++ 20 and float endianness

问题描述 投票:2回答:1

简短:

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

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

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

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

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

c++ floating-point endianness c++20
1个回答
1
投票

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

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

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

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.