如何在jmp腳本中將32位二進制數據轉換為十進制你好
我有幾組32位二進制數據,為了進行數學計算,我希望將其轉換為Decimal。
可以是任何隨機的32位二進制數據。
到目前為止,我已經嘗試了這些:
1.公式(基本(“ 32位二進制數據”,2))
2. BLOB
3.十六進製到十進制(Char到十六進制(“ 32位二進制數據”))
32位二進制數據:
00000000000110001101011111110111000
00000000000111010000000001110100
00000000000111011001001000100000
00000000000110011001010111101000
00000000000111110001111110110101
00000000000110011110000101110000
00000000000111001000111010001000
00000000000111001000110010100000
00000000000110110111000001011110
00000000000111011101100101010000
00000000000110101100110100110100
00000000000110110011100100001011
00000000000111100111010111100110
00000000001000001111101010110100
00000000000111010010000011101111
00000000000110111110010010001000
00000000000111011011100111100100
00000000000110111010111001101100
00000000000111000111110001001100
分析工具數據表其他腳本編寫回复:如何在jmp腳本中將32位二進制數據轉換為十進制請閱讀此內容,JMP15具有此類轉換的內置功能
https://community.jmp.com/t5/JMPer-Cable/All-your-base-are-belong-to-us-in-JSL/ba-p/227367
回复:如何在jmp腳本中將32位二進制數據轉換為十進制我沒有安裝JMP15版本。 當前正在使用JMP 11 Pro。 因此,無法應用此語法。 我也嘗試過這些語法回复:如何在jmp腳本中將32位二進制數據轉換為十進制我已經寫了一個快速腳本,您可以將其修改為一個函數:
a = "00000000000110001101011110111000";
sum = 0;
for(i = 1, i<= 32, i++,
sum = sum + num(substr(a, 33-i, 1))*2^(i-1);
);
回复:如何在jmp腳本中將32位二進制數據轉換為十進制我嘗試了起作用的功能腳本。 但是,我試圖用十進制數據創建一個新列。 在該列1F1-DEC上似乎空白。
下面是我的腳本:
dt2 << New Column(“ 1F1”,字符,標稱,公式(:Name(“ 0x905”)||:Name(“ 0x904”))));
dt2 << New Column(“ 1F1-DEC”,數值,標稱,公式(sum = 0;
for(i = 1,i <= 32,i ++,
sum = sum + num(substr(:Name(“ 1F1”),33-i,1))* 2 ^(i-1);
);););
回复:如何在jmp腳本中將32位二進制數據轉換為十進制@通樂提供了非常不錯的JSL。您對列公式的修改是導致此問題的原因。試試這個公式。該代碼更加通用,並且強制“ sum”變量成為公式中執行的最後一項,即返回公式所處理的行的值
sum = 0;
end = Length( :Name("1F1") );
For( i = 1, i <= end, i++,
sum = sum + Num( Substr( :Name("1F1") , (end + 1) - i, 1 ) ) * 2 ^ (i - 1)
);
sum;