相关疑难解决方法(0)

32位至16位浮点转换

我需要一个跨平台的库/算法,它将在32位和16位浮点数之间进行转换.我不需要使用16位数进行数学运算; 我只需要减小32位浮点数的大小,以便它们可以通过网络发送.我在C++工作.

我理解我会失去多少精确度,但这对我的应用来说是可以的.

IEEE 16位格式会很棒.

c++ networking ieee-754

37
推荐指数
6
解决办法
6万
查看次数

将半精度浮点数(字节)转换为 Swift 中的浮点数

我希望能够从二进制文件中读取半浮点数并将它们转换为 Swift 中的浮点数。我查看了其他语言(如 Java 和 C#)的几种转换,但是我无法获得与半浮点数相对应的正确值。如果有人可以帮助我实施,我将不胜感激。从浮动到半浮动的转换也将非常有帮助。这是我试图从这个Java implementation转换的implementation

    static func toFloat(value: UInt16) -> Float {
    let value = Int32(value)
    var mantissa = Int32(value) & 0x03ff
    var exp: Int32 = Int32(value) & 0x7c00
    if(exp == 0x7c00) {
        exp = 0x3fc00
    } else if exp != 0 {
        exp += 0x1c000
        if(mantissa == 0 && exp > 0x1c400) {
            return Float((value & 0x8000) << 16 | exp << 13 | 0x3ff)
        }
    } else if mantissa != 0 { …
Run Code Online (Sandbox Code Playgroud)

floating-point precision swift

4
推荐指数
1
解决办法
1419
查看次数

标签 统计

c++ ×1

floating-point ×1

ieee-754 ×1

networking ×1

precision ×1

swift ×1