lua 读入二进制文件 如何识别带符号数字和浮点数

求大神 写段示例代码 谢谢!

选定小数位数为16位,则乘以65536(2^16)实现整数化:

(1234.3945)10*(2^16)10=(1234.3945)10*(65536)10=(80897277.952)10
>(80897277)10 //去掉小数,保留整数部分
=(4D264FD)16=(0100 1101 0010 0110 0100 1111 1101)2因为最初乘了65536,即2的16次方,所以换算成二进制时应右移十六位,去掉前导零,即(10011010010.0110010011111101)2

(1112.999)10*(2^16)10

=(1112.999)10*(65536)10

=(72941502.464)10

>(72941502)10 //去掉小数,保留整数部分

=(458FFBE)16

=(0100 0101 1000 1111 1111 1011 1110)2

因为最初乘了65536,即2的16次方,所以换算成二进制时应右移十六位,去掉前导及后导零,

即(10001011000.111111111011111)2
望采纳追问

可能你误解我意思了
我的是说 比如 我在c++里面 以二进制的方式把 100 -101 和102.102这三个数(分别为int,int ,float)写到0.dat文件里面 我现在是想 在lua里面 把这三个数读出来
local f = io.open(Path,"rb")
local data = f:read("*a")
我把这个文件读到data里面 怎么把data里面的这三个数取出来

温馨提示:答案为网友推荐,仅供参考
相似回答