問題タブ [mantissa]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - IEEE 754 double の仮数をビットごとに分割しますか? ビット構造へのアクセス方法、
(すみません、面白いアイデアを思いつきました... 我慢してください...)
以下で構成される「double」値があるとします。
私が正しければ、1234.6565 を表します。
符号、指数、暗黙、仮数のフィールドにビットとして別々にアクセスできるようにしたいと思います! AND、OR、XOR ... などのビット単位の演算や、'left'、mid などの文字列演算でそれらを操作します。
そして、操作されたビットから新しいダブルを一緒にパズルしたいと思います.
たとえば、符号ビットを 1 に設定すると数値が負になり、指数に 1 を加算または指数から 1 を減算すると値が 2 倍または半分になり、指数の再計算された (偏りのない) 値によって示される位置の後ろにあるすべてのビットが取り除かれ、値が変換されます。整数などに。
他のタスクは、最後に設定されたビットを見つけ、それが値にどれだけ寄与しているかを計算し、最後のビットが「1」(バイナリ「奇数」)または「0」(バイナリ「偶数」)であるかどうかを確認するなどです。 .
私はプログラムで同様のものを見てきましたが、その場で見つけることができません。「キャストの再解釈」などで何かを覚えているかもしれませんか?そのようなものへのアクセスを提供するライブラリやツールキット、または「ハウツー」があると思います。
単純なプロセッサ命令と単純な C コードに近いソリューションが必要です。私はDebian Linuxで作業しており、デフォルトで含まれていたgccでコンパイルしています。
開始点は、「x」としてアドレス指定できる任意の double 値です。
スタートポイント2は私じゃない!経験豊富なプログラマー:-(
簡単に実行して、パフォーマンスを向上させるにはどうすればよいですか?