如何在 jmp 腳本中將 32 位元二進位資料轉換為十進位你好,
我有幾組 32 位元二進位數據,我想將其轉換為十進制以進行數學計算。
可以是任意隨機的32位元二進位資料。
到目前為止我已經嘗試過這些:
1. Formula(base("32位元二進位資料",2))
2. 斑點
3. 十六進位轉十進位(Char 轉十六進位(「32 位元二進位資料」))
32位元二進位資料:
00000000000110001101011110111000
00000000000111010000000001110100
00000000000111011001001000100000
00000000000110011001010111101000
00000000000111110001111110110101
00000000000110011110000101110000
00000000000111001000111010001000
00000000000111001000110010100000
00000000000110110111000001011110
00000000000111011101100101010000
00000000000110101100110100110100
00000000000110110011100100001011
00000000000111100111010111100110
00000000001000001111101010110100
00000000000111010010000011101111
00000000000110111110010010001000
00000000000111011011100111100100
00000000000110111010111001101100
00000000000111000111110001001100
進階統計建模回覆:如何在 jmp 腳本中將 32 位元二進位資料轉換為十進位@tx尼爾森有用!!! 多謝! 我已經為此工作了相當長一段時間。
回覆:如何在 jmp 腳本中將 32 位元二進位資料轉換為十進位@ThuongLe提供了一段非常好的 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;回覆:如何在 jmp 腳本中將 32 位元二進位資料轉換為十進位我嘗試了它正在運行的功能腳本。 但是,我正在嘗試使用小數資料建立一個新列。 1F1-DEC 欄似乎是空白的。
下面是我的腳本:
dt2 << New Column ("1F1", Character, Nominal, Formula(:Name( "0x905" ) || :Name( "0x904" )));
dt2 << New Column ("1F1-DEC", Numeric, Nominal, Formula(sum = 0;
for(i = 1, i<= 32, i++,
sum = sum + num(substr(:Name("1F1"), 33-i, 1))*2^(i-1);
);););
回覆:如何在 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 位元二進位資料轉換為十進位我沒有安裝 JMP15 版本。 目前使用 JMP 11 Pro。 所以這個語法不能應用。 我也嘗試過這些文法回覆:如何在 jmp 腳本中將 32 位元二進位資料轉換為十進位請閱讀本文,JMP15 有一個用於此類轉換的內建函數:
您的所有基地都屬於我們(在 JSL 中)