【发布时间】:2013-06-08 23:16:53
【问题描述】:
我正在尝试生成包含浮点文字的 LLVM 文本 IR。为了让它可靠地工作,我需要能够将浮点数转换为它们的十六进制文字表示。例如,结果应该是这样的:
f2hex(0.0001) -> "0x3F1A36E2E0000000"
f2hex(0.1) -> "0x3FB99999A0000000"
f2hex(1.1) -> "0x3FF19999A0000000"
f2hex(3.33333) -> "0x400AAAA8E0000000"
f2hex(4.9) -> "0x40139999A0000000"
f2hex(111.99998) -> "0x405BFFFFA0000000"
我会满足于算法的详细描述(不依赖于库或 Javascript 中不可用的机器代码),但工作的 Javascript 代码更好。
LLVM 语言参考在此处描述了格式:http://llvm.org/docs/LangRef.html#simple-constants
【问题讨论】:
标签: javascript floating-point type-conversion llvm