I was only able to convert a decimal into a binary single-precision IEEE754, using the struct.pack
module, or do the opposite (float16 or float32) using numpy.frombuffer
Is it possible to convert a decimal to a binary half precision floating point, using Numpy?
I need to print the result of the conversion, so if I type "117.0"
, it should print "0101011101010000"
if I type "117.0", it should print "0101011101010000"
>>> import numpy as np
>>> bin(np.float16(117.0).view('H'))[2:].zfill(16)
'0101011101010000'
.view('H')
reinterprets the memory occupied by the float16
value as an unsigned integer.
The float16
method suggested by Mark Dickinson has to be followed by the tostring()
method to obtain the required binary representation:
data = numpy.float16(2.3).tostring()
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With