我试图生成包含浮点文字的LLVM文本IR。为了能够可靠地工作,我需要能够将浮点数转换为它们的十六进制文字表示。例如,这里是结果应该是什么:在Javascript中生成LLVM浮点十六进制文字
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