在 Swift 中浮动的 Uint8 数组 [重复]
Posted
技术标签:
【中文标题】在 Swift 中浮动的 Uint8 数组 [重复]【英文标题】:Array of Uint8 to float in Swift [duplicate] 【发布时间】:2020-06-09 19:30:58 【问题描述】:我正在寻找一种将 UInt8 数组转换为浮点数的方法。 [27,227](应该是 95.0 左右) 有一些技巧可以转换为 Int,但这些技巧似乎都不适用于 Float。
【问题讨论】:
大致如下:1) 适当地填充您的UInt8
数组,以便每个浮点数有 4 个 UInt8
s([27, 227]
本身无效,因为那只是指定构成 Float
的 4 个字节中的 2 个)确保指定您的字节是小端还是大端。 2) 将您的数组转换为 Data
,3) 使用 *** 上的众多 sn-ps 之一将 Data
加载到 [Float]
。跨度>
UInt8
的数组可以通过多种方式表示数字。它们可能是以 IEEE-754 格式或其他格式编码浮点数的原始字节。它们可能是 0 到 255 之间的整数,直接表示 0 到 255 的数字,因此仅使用这些值将它们转换为浮点数。它们可能是从 0 到 255 的整数,它们是从 0 到 1 的数字的定点(缩放)表示。255 和 256 都不是不常见的缩放比例。您的样本似乎无法帮助识别其中任何一个。您必须提供更多信息。
【参考方案1】:
最简单的解决方案是创建一个 Float 类型的新数组,循环到 Int16 数组,并将转换后的 Float 值附加到每个循环圆的新数组中。
我还没有听说过 Foundation Library 中有一个函数可以为您提供这种逻辑。
【讨论】:
以上是关于在 Swift 中浮动的 Uint8 数组 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
在 Swift 中将 bytes/UInt8 数组转换为 Int
在 Swift 中将两个字节的 UInt8 数组转换为 UInt16