I use this: try <<Value:native-float, Bin2/binary>> = Bin, {Value, Bin2}; catch error:{badmatch, _Bin} -> BitCount = bit_size(<<0/native-float>>), <<_Skip:BitCount, Bin2/binary>> = Bin, {undefined, Bin2} end.