浮動小数点値(またはメモリ内で連続するもの)の生のバイトを表示するには、非常に簡単なソリューションが必要です。私の理解では、これは型キャスト(バイト単位でのメモリ値の読み込み)と呼ばれ、キャスト(バイト単位での読み込みとそれをバイト単位で解釈する)として誤解されることはありません。浮動小数点型(float)(64)をバイト型に変換するためのpython lightweightソリューション
最も単純なテストがあると思われる。)
import numpy
a=3.14159265
print(a.hex())
# Returns 0x1.921fb53c8d4f1p+1
b=numpy.array(a)
print(b.tobytes())
# returns b'\xf1\xd4\xc8S\xfb!\[email protected]'
# expected is something like 'F1' 'D4' 'C8' '53' 'FB' '21' '09' '40'
が、方法六角(ヘックスにおけるIEEEフロートrepresantationの解釈を返します。 2番目の方法では、4つの16進数のマーカ\x
が表示されますが、float64は8バイトを読み込む必要があります。さらに、私は他の文字で疑問に思います。
私は良い古いシンプルなCIは、floatのメモリアドレスにunsigned intポインタを使用し、そのunsigned int "Array"(ポインタ)から8個の値を出力することで実現しています。
私はC Python内で - しかし、他の簡単な解決策はありますか?
これは興味深いことかもしれません:多くの大きな浮動小数点ベクトルをBLOBにデータベースに保存するには、その機能が必要です。 可能であれば(表示可能な文字)、それは\x
-formに印刷されていません。どうすれば変更できますか?