1

Python を使用して倍精度ファイルのバイナリ ファイルを作成するにはどうすればよいですか? 現在、次のことを行っていますが、単精度ファイルが提供されています。

#!/usr/bin/env python

import struct

data =[2.3715231753176,9.342983274982732]

output_file = "test.dat"
out_file = open(output_file,"wb")
s = struct.pack('f'*len(data), *data)
out_file.write(s)
out_file.close()
4

2 に答える 2

7

d倍精度浮動小数点数を記述するために使用します。

s = struct.pack('d'*len(data), *data)

f単精度のみです。モジュールのドキュメントのFormat charactersセクションを参照してください。struct

'f'および変換コードの場合、パック表現は、プラットフォームで使用される浮動小数点形式に関係なく'd'、IEEE 754 binary32 ( の場合'f') または binary64 ( の場合) 形式を使用します。'd'

于 2013-04-24T10:57:03.070 に答える
3

フォーマット文字列を間違って使用しています。倍精度を使用するには、「f」の代わりに「d」を使用します。フォーマット文字のリストについては、ドキュメントを参照してください。

于 2013-04-24T10:57:11.563 に答える