2023-09-24
#js 
多量の浮動小数をコンパクトにデータ化したくなり、IEEE754で標準化されているバイナリエンコーディングを気軽に扱うライブラリを準備しました。

いろんな実装がありましたが、Float32Arrayを使えばUint8Arrayへ簡単に変換できました。チェックツールで確認しながら、最低限のテストコードを書いて、できあがり!


「code4fukui/IEEE754」

import { IEEE32 } from "https://code4fukui.github.io/IEEE754/IEEE32.js"; const bin = IEEE32.encode([1, .5, .1]); const f32array = IEEE32.decode(bin); console.log(f32array); ESモジュールとして、Denoやブラウザ上でサクッと使えます。

GitHubにアップしようとすると手元で被ったファイル名。実は、2021年、ieee754として移植したライブラリがありました。こちらはJavaScriptで丁寧に変換するライブラリの移植なので、速度面では今回の実装がいいでしょう。

Tweet
クリエイティブ・コモンズ・ライセンス
本ブログの記事や写真は「Creative Commons — CC BY 4.0」の下に提供します。記事内で紹介するプログラムや作品は、それぞれに記載されたライセンスを参照ください。
CC BY / @taisukef / アイコン画像 / プロフィール画像 / 「一日一創」画像 / RSS