問題タブ [bitwise-xor]
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.
php - PHPでニブル/テトラッドでバイナリ操作を実行するには?
それで、0から15までの数値があるので、それらを16進コード(0からf)で保存しました。これで、ニブルの 16 進コード値を含むデータの文字列ができました。
データは次のようになります。
a0fc3d78270db962e4ba525cf3acd
2つのニブルでバイナリxorを実行する正確/エレガント/高速な方法と、ニブルではなくバイナリを実行する最速の方法は何ですか?
私が今考えていることは、最初にニブルを完全なバイトに変換することです:
次に、これらのバイトに対して必要な操作 (xor または not) を実行し、結果の値を再びニブルに再変換します。
このアプローチの問題は、バイトに not (~) 操作を適用すると、最初の 4 ビットも逆になり (したがって、ニブルの左側に 1111 が追加されます)、さらに複雑になる必要があることです。上記のコードで結果をニブルに再変換する前に、結果の ord() 値から 240 を減算します。これにより、将来のコードのアップグレードが煩雑になるだけでなく、将来のコードの機能の解釈が難しくなります。
ニブルではなくビット単位の xor を実行し、結果の値を 16 進コード (文字列) として取得するための最良/正確な方法は何ですか?
例:
bit-manipulation - トリッキーな Xor 問題 p(x) = x^(x/2) 与えられた p(x) が x の値を見つける
画像処理に関連するプロジェクトが進行中で、実験を実行して目的の結果を得るには、パラメーター「x」と関数 P(x) を使用して画像をグレースケールに変換し、グレーコードを表し、x xor を介して計算する必要があります。 (x div 2) ここで、xor はビット単位の排他的論理和 (ビット単位のモジュロ 2 加算) を表し、div は整数除算を意味します。
関数 P(x) が可逆であることに注意することは興味深いことです。つまり、P(x) の値が与えられると、常に x を一意に復元できることを意味します。
そのため、プロジェクトに取り組んでいるグループは、パラメーター「x」に関連する元のデータを保持するのを忘れていました。与えられた P(x) の値から数値 x を復元するプログラムを作成します。
入力: 入力ファイルには、G(x) の値である整数 y が含まれています。
出力: 出力ファイルには、G(x) = y となる単一の整数 x が含まれている必要があります。
サンプル入力: 15
サンプル出力: 10
誰かがこの問題に対するあなたの解決策を明確に説明できますか???