LoginSignup
1
1

More than 5 years have passed since last update.

Pythonで単精度浮動小数点を読み書きする

Last updated at Posted at 2015-04-30

Pythonは言語仕様として単精度浮動小数点をサポートしていないようですが、スクリプトの連携先となるハードウェアの設定値を単精度不動小数点で入出力しなければならなかったので、 NumPy を通してコンバートすることにしました。

とりあえず自分が忘れないようにメモ。

おまじない

NumPy を使うので

import numpy

float32 の値を入力する

文字列 s に入っている各4バイトのfloat32値(合計12バイト)を変数に代入する

nums = numpy.fromstring(s, dtype=float32, count=3)
self.param1 = nums[0]
self.param2 = nums[1]
self.param3 = nums[2]

float32 の値を出力する

変数に入っている値を float32 値(各4バイト) 3から、合計12バイトのバイト列を出力する

params = numpy.array([self.param1, self.param2, self.param3], dtype=float32)
return params.tostring()

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1