jmpスクリプトで32ビットのバイナリデータを10進数に変換する方法こんにちは、
数学計算の目的で10進数に変換したい32ビットバイナリデータのセットがいくつかあります。
任意のランダムな32ビットバイナリデータにすることができます。
これまで私はこれらを試しました:
1. Formula(base( "32ビットバイナリデータ"、2))
2.BLOB
3. 16進数から10進数(Char to Hex( "32ビットバイナリデータ"))
32ビットバイナリデータ:
00000000000110001101011110111000
00000000000111010000000001110100
00000000000111011001001000100000
00000000000110011001010111101000
00000000000111110001111110110101
00000000000110011110000101110000
00000000000111001000111010001000
00000000000111001000110010100000
00000000000110110111000001011110
00000000000111011101100101010000
00000000000110101100110100110100
00000000000110110011100100001011
00000000000111100111010111100110
00000000001000001111101010110100
00000000000111010010000011101111
00000000000110111110010010001000
00000000000111011011100111100100
00000000000110111010111001101100
00000000000111000111110001001100
分析データ表その他スクリプティングRe:jmpスクリプトで32ビットのバイナリデータを10進数に変換する方法これを読んでください、JMP15にはこの種の変換のための組み込み関数があります
https://community.jmp.com/t5/JMPer-Cable/All-your-base-are-belong-to-us-in-JSL/ba-p/227367
Re:jmpスクリプトで32ビットのバイナリデータを10進数に変換する方法JMP15バージョンがインストールされていません。 現在JMP11Proを使用しています。 したがって、この構文は適用できません。 私もそれらの構文を試しましたRe:jmpスクリプトで32ビットのバイナリデータを10進数に変換する方法私は簡単なスクリプトを書きました、あなたは関数になるように修正することができます:
a = "00000000000110001101011110111000";
sum = 0;
for(i = 1, i<= 32, i++,
sum = sum + num(substr(a, 33-i, 1))*2^(i-1);
);
Re:jmpスクリプトで32ビットのバイナリデータを10進数に変換する方法動作している関数スクリプトを試してみました。 ただし、10進データを使用して新しい列を作成しようとしています。 その列1F1-DECは空白のようです。
以下は私のスクリプトです:
dt2 <<新しい列( "1F1"、Character、Nominal、Formula(:Name( "0x905")||:Name( "0x904")));
dt2 <<新しい列( "1F1-DEC"、数値、名目、数式(合計= 0;
for(i = 1、i <= 32、i ++、
sum = sum + num(substr(:Name( "1F1")、33-i、1))* 2 ^(i-1);
);););
Re:jmpスクリプトで32ビットのバイナリデータを10進数に変換する方法@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;