This package is designed to convert floating point point numbers from their decimal to their binary formats, according to the IEEE 754 standard. This is useful when calculations at the limits of MATLAB precision are performed or when the binary strings are of interest, such as in genetic algorithms. The package consists of the following four scripts.
float2bin: converts decimal floating point numbers to IEEE 754 binary string
bin2float: converts binary string to floating point number
bitstr2vec: converts binary string to binary vector of 0s and 1s
bitvec2str: converts binary vector to binary string
The floating point format that Matlab utilizes and some functions relating to floating point precision and limits are described in this post:
The float2bin function included in this package is described in this post:
Eric Verner (2020). Floating Point Number Conversion (https://www.mathworks.com/matlabcentral/fileexchange/39113-floating-point-number-conversion), MATLAB Central File Exchange. Retrieved .
float2bin can be fixed by transposing nums in line 28.
bins = dec2bin(nums, 4); %Convert to array of binary number strings
bins = dec2bin(nums', 4); %Convert to array of binary number strings
Bin2float is broken. Additionally, float2bin does not produce the correct output. Suppose you have an array a=[a1,a2] where a1 and a2 both have the most significant hex word equal to 5 (arbitrary). The result of b=float2bin(a)= '01010101...' instead of '0101 ... 0101 ...'.
it's amazing , thanks a lot for your contribution .
Undefined function or variable 'float2bin'. It's showing this
Very useful thank you for this post.
Hi, very great and usefull post. I had to do floating point to Binary conversion for my thesis and it very usefull.
But also, if would be better if you add a method for conversion from binary floating point vector to decimal directly, since handling strings cost more time on computer. One will have to take it into consideration if the conversion have to be repeated over a large number of matrix elements