使用Python实现浮点数与基于754标准的16进制之间的转换

更新时间:2023-07-19 05:13:34 阅读: 评论:0

使⽤Python实现浮点数与基于754标准的16进制之间的转换我们需要使⽤内置struct库中的pack和unpack函数。
下⾯实现的有单精度和双精度的浮点数转换。
import struct
import numpy as np
def float_to_hex(f):
乙卯重五诗return hex(struct.unpack('<I', struct.pack('<f', f))[0])
def hex_to_float(h):
i = int(h,16)
return struct.unpack('<f',struct.pack('<I', i))[0]
def double_to_hex(f):
我的家英语作文return hex(struct.unpack('<Q', struct.pack('<d', f))[0])
def hex_to_double(h):
手提袋怎么折i = int(h,16)
return struct.unpack('<d',struct.pack('<Q', i))[0]
电影观后感800字if __name__ == '__main__':
卷首语大全f1 = np.array([17.5,-17.5,77.3,-77.3],np.float32)
f2 = np.array([17.5, -17.5, 77.3, -77.3], np.float64)
h1 = []
h2 = []
for i in f1:
print(float_to_hex(i))
h1.append(float_to_hex(i))
for i in h1 :
print(hex_to_float(i))
for i in f2:
print(double_to_hex(i))
h2.append(double_to_hex(i))
for i in h2 :
print(hex_to_double(i))
输出结果联通手机如何上网
0x418c0000
0xc18c0000
0x429a999a
一年级识字大全0xc29a999a
17.5
-17.5
77.30000305175781
-77.30000305175781
0x4031800000000000
0xc031800000000000
0x4053533333333333
蝴蝶的品种0xc053533333333333
17.5
-17.5
77.3
-77.3

本文发布于:2023-07-19 05:13:34,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/1104441.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:转换   浮点数   精度   重五   观后感   输出   手机
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图