C++或Python中是否有一个等效于MATLAB的num2hex函数的函数?
Python的float.hex
和int.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'