web-dev-qa-db-ja.com

ビット単位の演算子を持つバイナリスプレッドシート

SHIFTANDORXORなどのビットごとの演算子を使ってバイナリスプレッドシートを簡単に作成する方法を探しています。

私はgnumericを見ましたが、基本を2に設定することを許可する機能が見つかり、あなたが使用できないところでは、Canunkyの組み込み関数の使用に戻ることなく簡単なバイナリ操作を行うことができます。バイナリ表現.

1
ks6g10

セル内の単一のブール値を実行したい場合は、= true()と= false(通常1と0で表されます)を使用できます。もし、(論理的な最初のオペランドを取る)。そうではない、またはXOR。これらの値の行を作成し、行ごとの操作、順列などを実行できます。

代わりに単一の値でビットごとの操作をしたい場合は、それを実行できるはずです。これらの作業は特定の範囲内の整数のバイナリ表現に取り組んでいます。あなたはそれらを16進で表示できるはずです。どの製品がセルの書式設定の一部として16進数またはバイナリのエントリをサポートしているかわかりませんが、Bin2Dec、Bin2hex、Dec2bin、DEC2HEXなどの機能は便利です。あなたが望むものを手に入れるためにこれらと遊ぶ。 (バイナリ値を導入するには、BIN2DECを使用し、バイナリとして表示するには、DEC2BINを使用してください。私はそれが後方に聞こえるのを知っていますが、オペランドの上の桁ビンをやって、そしてのbin2decをすることを考えることができます。結果 - 効果は、それがそれが内部的にそれがより簡単であるかのようなものです。これらの機能を持つスプレッドシートを使って、それが自分のためにどのように機能するかを確認してください。)

OpenFormulaビットごとの関数は、ビットとビットシフト、ビット、BITRShift、およびBitXORです。これらは少なくとも48ビットの符号なし値で動作すると予想されます。 Nビットで動作するには、シフトアウトとビットXORをすべてのビットを補完することが予想されるビットを廃棄するためにビットで使用できる定数2 ^ n-1を定義することは貴重です(BitcompまたはBitnot)。 。円形のシフトはありませんが、構成できます。特に複雑なもののために、単一のブール値を持つセルに対する行単位の操作の使用は最も良いかもしれません。あるいは、回転および順列を含む複雑なビット単位関数のためにマクロを定義することが望ましいかもしれない。

これらはまだ一様に実装されていない可能性があります。 LibreOffice Calc、Apache OpenOffice Calc、およびgnumericの最新バージョンを確認してください。

2
orcmid