1
如何獲得字符串的32位浮點表示法作爲二進制IEEE 754?在Python中的二進制浮點表示法(位不是十六進制)
例
'00111111100000000000000000000000' - > 1.00
這個問題的反面: Binary representation of float in Python (bits not hex) ,我無法在別處找到答案。請注意,我對編碼非常陌生,所以請溫和。
如何獲得字符串的32位浮點表示法作爲二進制IEEE 754?在Python中的二進制浮點表示法(位不是十六進制)
例
'00111111100000000000000000000000' - > 1.00
這個問題的反面: Binary representation of float in Python (bits not hex) ,我無法在別處找到答案。請注意,我對編碼非常陌生,所以請溫和。
使用struct.pack
和struct.unpack
:
>>> import struct
>>> n = '00111111100000000000000000000000'
>>> struct.unpack('f', struct.pack('i', int(n, 2)))[0]
1.0
int(.., 2)
到二進制表示到int
轉換(基數爲2)struct.pack('i', ..)
至字節轉換(i
:32位INT)struct.unpack('f', ...)[0]
轉換字節回到浮動狀態。其他struct
格式字符,請參閱Format charactes - struct
module documentation。