Есть ли функция в C ++ или Python, которая эквивалентна MATLAB num2hex функционировать?
Питона float.hex
а также int.hex
функции не дают того же результата, что и MATLAB num2hex
функция.
% single
>> num2hex(single(1))
ans =
3f800000
% double
>> num2hex(1)
ans =
3ff0000000000000
>>> 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'