LUA数据转换问题
在LUA里面所以的数据类型都会内部转化为double型,如果我需要显示一个double型可以这样做
LUA:
local num=3.14;
printf(totring(num));
但问题是如果我把这个num在C内部进行多次的加密处理
C:
double aa=3.14;
aa=aa*4/3+2......
之后已经不能算是个double型的数据了比如说是0x12345678901234这个数了,我怎么把这个数赋值给num呢
LUA;
local num=????;
printf(totring(num));
我试过
local num=0x12345678901234?;
printf(totring(num));
但显示出来的数据明显的不正确。
[解决办法]
0x12345678901234读到内存中已经变成浮点数了,不可能完美还原。你现在的要求用byte串(lua中就是string)更合适。