GoLang でバイト スライス "[]uint8" を Float64 に変換する
GoLang では、[]uint8 バイト スライスを float64 に変換します。簡単な作業。この記事では、この変換の手法を検討し、文字列に変換してから float64 に変換すると値が失われる問題に対処します。
提案された解決策の根本的な問題は、文字列変換によってバイト スライスの基礎となる部分が変更されることです。データ。これに対処するために、バイナリ データのエンディアン セーフなエンコードおよびデコードのメソッドを提供するエンコーディング/バイナリ パッケージを利用します。
Float64frombytes() 関数は、バイトをバイトとして解釈することによって、バイト スライスを float64 に変換します。リトルエンディアンでエンコードされた 64 ビット IEEE 754 浮動小数点数。これを実現するために、binary.LittleEndian.Uint64() 関数を使用してバイトを符号なし 64 ビット整数に変換します。次に、 math.Float64frombits() を使用して整数を float64 に変換します。
逆に、Float64bytes() 関数は、逆の演算を実行して float64 をバイト スライスに変換します。 math.Float64bits() を使用して float64 の 64 ビット表現を取得し、binary.LittleEndian.PutUint64() を使用してこの整数をバイト スライスに変換します。
提供されている GoLang の例は、これらの関数の使用法を示しています。 Pi を表す float64 をバイト スライスとの間で変換します。出力は変換プロセスを効果的に示しており、変換全体を通じて元の値が維持されていることを確認します。
以上が値を失わずにGoLangでバイトスライス「[]uint8」をFloat64に変換する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。