C++或Python中是否有一个等效于MATLAB的num2hex函数的函数?

Python的float.hexint.hex函数的结果与MATLAB的num2hex函数的结果不同。

最佳答案

的MATLAB

% single
>> num2hex(single(1))
ans =
3f800000

% double
>> num2hex(1)
ans =
3ff0000000000000

python

>>> x = 1.0

# 32-bit float
>>> hex(struct.unpack('!l', struct.pack('!f',x))[0])
'0x3f800000'

# 64-bit float
>>> hex(struct.unpack('!q', struct.pack('!d',x))[0])
'0x3ff0000000000000L'

08-25 08:35