指针在Python中并不常见,var声明类型也不常见。我要用Python来做这个。在
C++:
...a function
flt32 f;
int32 sign, exp, man, *tms;
tms = (int *) &f;
...(operations)
*tms = sign | exp | man;
return (f);
如您所见,tms
指向f
数据,但只是float
的int
部分(顺便说一句,这个函数工作得很好)。
对于ctypes,我可以在Python中使用指针:
^{pr2}$这里的问题是tms
立即变成{tms
应该是tms = c_int32(a_value))
。
在Python中,是否可以使用只与float
变量中的int
值匹配的指针?在
你需要什么,得到一个浮点数的整数部分?就这样做,然后:
如果您真的想在Python中实现这一点,可以使用ctypes.cast()将浮点指针转换为int pointer,也可以使用struct将浮点值打包为字符串并将其解压为int。下面是一个示例:
我使用ctypes.cast()以int形式查看浮点值内存,并使用struct将其转换回:
相关问题 更多 >
编程相关推荐