我想将浮点十进制转换为32位十六进制值。条件是输出应为8位宽,与输出无关。例如,3e878ee应该显示为03e878ee。
import struct
f = open( 'xyz.txt', 'w' )
infile = open('abc.txt', 'r')
for line in infile:
lines = infile.readlines()
for line1 in lines:
number = float(line1)
input = number
buf = struct.pack(">f", input)
A = (''.join("%x" % ord(c) for c in struct.unpack(">4c", buf) ))
f.write (str(A) +'\n')
infile.close()
样本输入:
0.0
0.0
0.08213
0.06202
0.0018
示例输出:
0000
0000
0000
3b3126f
3e28394
3cc970f8
3d8331e4
3e456042
3e01cd6
3d3ec02f
输出应为8个零的格式,而不仅仅是4个。 和3e01cd6应该写为03e01cd6。