需要一個腳本來讀取 8 位代碼中的單個位嗨,我一直在嘗試找到一種方法來讀取 8 位代碼(列 RegRead)中的一位,以用於創建新列。
我似乎不知道該怎麼做。在下面的這個例子中,我正在嘗試準備 bit[3],有人可以幫忙嗎
非常感激。
射線

數據表回复:需要一個腳本來讀取 am 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)));
結果
