C++ 转换类型(SLODWORD 和 long)

C++ Casting types (SLODWORD and long)

将变量视为浮点数。

*((long*)&variable)(long)variable有什么区别?

这不一样吗?

为什么我的程序为每个输出不同的结果?

前者对变量的处理就像它作为 long 存储在内存中一样,即使它不是。后者将变量转换为 long.

第一个是 重新解释 存储在 &variable 的位,就好像它们代表长整数一样,而第二个执行 转换variable 值(位 "actually" 代表什么)到合适的 long 值。