嗨,我想這只是一個問題,我沒有找到正確的公式選項,而是如何在JMP公式中執行基本的按位運算?
例如,這是我想在JMP中復制的Python示例示例: lambda 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僅保留最小位(零/一,偶數/奇數),而<< 2(左移2)乘以4。 (假設python像C一樣工作,而我沒有忘記...)
如果您有很多此類對象,並且具有特殊的位位置等,則可能需要尋找一個位操作庫。 我唯一知道的是關於Twitter的7件事可能不是很友好(zip文件中的BITS.jsl文件)。 我不記得它到底在做什麼,但是看起來它正在解決問題,方法是將數字轉換為32個1和0的字符串,然後使用AND / OR / etc邏輯規則組合這些字符串。 它可能會丟失所有不需要的操作。 而且我很確定HTTPRequest函數現在會使該代碼更容易。
進行右移時,負數可能真的很奇怪。 符號位可能很麻煩。