MATLAB: How to display double-precision floating-point number in binary representation

conversiondisplaydoubleEmbedded Coderfloating pointMATLABsimulink

Hello, I'm currently working with Simulink. There I'm reading a value out of a Data Store Memory. This value is a double value, so a floating-point number. Now I want to display this number in its binary representation. Since this is not possible with a display block, I'm looking for another way. Thanks!

Best Answer

MATLAB Function block. You can typecast() to uint64, and then you can use bitget() . Or you can use num2hex() on the floating point and then decode the hex if you want a binary representation.
If you do use num2hex, be aware that the output is in Big Endian order -- most significant bit left to least significant right. On all Intel x86 and x64 architectures, the order in memory is Little Endian.
>> dec2hex(typecast(hex2num('0123456789ABCDEF'),'uint8'))
ans =
8×2 char array
'EF'
'CD'
'AB'
'89'
'67'
'45'
'23'
'01'