栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

用Java语言解压缩半精度浮点数

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

用Java语言解压缩半精度浮点数

我最终根据Wikipedia页面上的信息实现了自己的解析器。它可能不是最快的,但是我对此不太担心。这里是那些好奇的人:

function float16_to_float(h) {    var s = (h & 0x8000) >> 15;    var e = (h & 0x7C00) >> 10;    var f = h & 0x03FF;    if(e == 0) {        return (s?-1:1) * Math.pow(2,-14) * (f/Math.pow(2, 10));    } else if (e == 0x1F) {        return f?NaN:((s?-1:1)*Infinity);    }    return (s?-1:1) * Math.pow(2, e-15) * (1+(f/Math.pow(2, 10)));}function test() {    float16_to_float(parseInt('3C00', 16)); // 1    float16_to_float(parseInt('C000', 16)); // -2    float16_to_float(parseInt('7BFF', 16)); // 6.5504 × 10^4 (Maximum half precision)    float16_to_float(parseInt('3555', 16)); // 0.33325... ≈ 1/3    // Works with all the test cases on the wikipedia page}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/453591.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号