代码
float 读小数(int 内存地址)
{
_asm
{
mov eax, [内存地址]
mov eax, [eax]
}
return;
}
void _tmain()
{
printf("%f\n",读小数(0x00040000));
}
而使用读整数的 就可以读出来准确的整数
int 读整数(int 内存地址)
{
_asm
{
mov eax, [内存地址]
mov eax, [eax]
}
return;
}
void _tmain()
{
printf("%d\n",读整数(0x00040000));
}
本人菜鸟,请问高手们 怎样才能准确读出内存中的浮点型小数呢?
你好!既然要读float型的数据,那么你在定义相应内存指针的时候,就要定义成float型的,而不可用int型,否则小数会被忽略。
涉及到小数务必用double类型
float 读小数(int 内存地址)
{
return *((float *)内存地址);
}
double fun(double *p)
{
double *f;
_asm
{
mov eax, p
mov eax, eax
mov f,eax
}
return *f;
}
int main()
{
double f = 0.11225;
double *p = &f;
printf("%f",fun(p));
return 0;
}