需要一个脚本来读取 8 位代码中的单个位嗨,我一直在尝试找到一种方法来读取 8 位代码(列 RegRead)中的一位,以用于创建新列。
我似乎不知道该怎么做。在下面的这个例子中,我正在尝试准备 bit[3],有人可以帮忙吗
非常感激。
射线

数据表回复:需要一个脚本来读取 8 位代码中的单个位这就是 JMP 数据表中的数据吗? 该列是字符列还是数字列? 至少有 3 种不同的可能性:
如果数据已经是字符“1”和“0”,那么 substr() 函数应该能够抓取第 5 个字符(假设存在前导“0”字符)。仔细测试;如果您调用 LSB 位 0 与位 1 会改变答案,并且 substr 从 1 开始,而不是 0。
如果该值是一个数字,奇怪地显示一个基数为 10 的数字,看起来像一个基数为 2 的数字,(1)您可能希望将其重新导入为字符或(2)您可能使用 mod(floor(RegRead/1000), 2)。
如果该值是 0 到 255 之间的数字,则可以使用 mod(floor(RegRead/8),2)。 除以 8 将位模式向右移动三位,地板丢弃分数,当 LSB 为 1 时,mod-2 为 1 表示奇数答案。
如果传输以某种方式认为 MSB 是符号位,则另一种可能性可能是从 -128 到 127 的数字。
回复:需要一个脚本来读取 am 8 位代码中的一位这是具有每列信息的列(较小的数据集)的实际示例,十进制列是数字,二进制列是字符。
我只对 Binary 列感兴趣; LSB 将根据收集的测试数据和每个寄存器的编程从 0 变为 1。
我确实使用此公式将 Dec 转换为 Binary
dt << 新列 ("RegRead_Binary", 公式(decimalToBinary = Hex(:RegRead, Base(2), Pad To(3))));
再次感谢

回复:需要一个脚本来读取 8 位代码中的单个位谢谢克雷格
您提出了使用 SUBSTR() 函数的想法,我用随机列 Test1,2,3 对其进行了测试
dt << New Column ("Extract_Bit5", formula(SUBSTR(:Test1, 5, 1)));
dt << New Column ("Extract_Bit7", formula(SUBSTR(:Test2, 1, 1)));
dt << New Column ("Extract_Bit0", formula(SUBSTR(:Test3, 8, 1)));
结果
