嗨,我想这只是一个问题,我没有找到正确的公式选项,而是如何在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函数现在会使该代码更容易。
进行右移时,负数可能真的很奇怪。 符号位可能很麻烦。