こんにちは、これは単に正しい数式オプションが見つからないという問題だと思いますが、JMP数式で基本的なビット演算をどのように実行しますか?
たとえば、JMPで複製したいPythonの例を次に示します。ラムダx:((((x >> 1)&0x1))<< 2)
ありがとう、ロス
JMPにはネイティブのビット演算子はありません。 あなたの例では、私はこれを試してみます
// untested code for (((x>>1)&0x1))<<2
f = function( { x },
( mod( floor( x / 2 ), 2 ) == 1 ) * 4
}x >> 1(右シフト1)はxを2で除算し、&1は最小ビット(ゼロ/ 1、偶数/奇数)のみを保持し、<< 2(左シフト2)は4を乗算します。 (PythonがCのように機能し、私が忘れていないことを前提としています...)
これらがたくさんあり、固有のビット位置などがある場合は、ビット操作ライブラリを探すことをお勧めします。 私が知っているのはTwitterについて知っておくべき7つのことあまり友好的ではないかもしれません(zipファイルのBITS.jslファイル)。 正確には覚えていませんが、数値を32個の1と0の文字列に変換し、AND / OR / etc論理規則を使用して文字列を結合することで問題を解決しているようです。 おそらく、不要な操作が欠落しています。 そして、HTTPRequest関数によってそのコードがはるかに簡単になると確信しています。
右シフトを行う場合、負の数は本当に奇妙な場合があります。 符号ビットが問題になる可能性があります。