問題タブ [128-bit]
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.
python - VBA - 128 ビット値から 128 個のチェックボックス
Pythonscript から VBA プログラムにデータを転送する方法について少し助けが必要です。オンまたはオフ (1 または 0) にできる 128 個のスイッチを備えたシステムがあります。Python スクリプトでは、個々のスイッチの値を読み取り、そのデータを VBA プログラムに送り返したいと考えています。VBA プログラムには、これらのスイッチを表す 128 個のチェック ボックスがあります。
私の現在の進行状況は、Python でこれらの 128 の数値をビットシフトし、その 128 ビット整数を使用して VBA に出力することです。現在、Python で「print」を使用し、VBA でシェルの印刷をチェックします。次に、そのデータを文字列に読み取ります。
これで、文字列にはスイッチの ASCII 値が含まれます (170141183460469231733416685972794376193 など)
これらのチェックボックスをクリックするために、この ASCII 文字列を便利なものに変換するにはどうすればよいですか? 128回実行するよりもループを使用する予定です。
Controls("CheckBox" & Counter).value = BINARYVALUE[カウンター]
ここで、counter はループ カウンターで、BINARYVALUE は 128 ビットのバイナリ値が格納される場所です。
助けてくれてありがとう!
64-bit - 被除数のビットがすべて 1 で、商の 64 LSB だけが必要な場合に、128 ビットの被除数を 64 ビットの除数で割る方法を教えてください。
を計算する必要があります((2^128) - 1) / x。除数xは、符号なしの 64 ビット数です。被除数は 2 つの符号なし 64 ビット数値 (上位と下位) で構成され、両方の数値はUINT64_MAX. 私は64ビットの算術演算しか使用できず、移植可能である必要があります(GNU __int128、MSCV _udiv128、アセンブリ、またはそのようなものは使用しません)。商の上位部分は必要ありません。下位 64 ビットのみが必要です。
この操作を行うにはどうすればよいですか?
またx >= 3、xは 2 の累乗ではありません。
編集:独自のソリューションを作成しました(以下の回答)。しかし、より良いパフォーマンスを発揮する他のソリューションを歓迎します:)