Cómo convertir datos binarios de 32 bits en decimales en un script jmpHola,
Tengo algunos conjuntos de datos binarios de 32 bits que quiero convertir a Decimal para fines de cálculo matemático.
Puede ser cualquier dato binario aleatorio de 32 bits.
Hasta ahora he probado estos:
1. Fórmula (base ("Datos binarios de 32 bits", 2))
2. BLOB
3. Hexadecimal a decimal (Char a Hex ("Datos binarios de 32 bits"))
Datos binarios de 32 bits:
00000000000110001101011110111000
00000000000111010000000001110100
00000000000111011001001000100000
00000000000110011001010111101000
00000000000111110001111110110101
00000000000110011110000101110000
00000000000111001000111010001000
00000000000111001000110010100000
00000000000110110111000001011110
00000000000111011101100101010000
00000000000110101100110100110100
00000000000110110011100100001011
00000000000111100111010111100110
00000000001000001111101010110100
00000000000111010010000011101111
00000000000110111110010010001000
00000000000111011011100111100100
00000000000110111010111001101100
00000000000111000111110001001100
AnalíticaTabla de datosOtroScriptingRe: Cómo convertir un dato binario de 32 bits a decimal en un script jmpLea esto, JMP15 tiene una función incorporada para este tipo de conversión
https://community.jmp.com/t5/JMPer-Cable/All-your-base-are-belong-to-us-in-JSL/ba-p/227367
Re: Cómo convertir un dato binario de 32 bits a decimal en un script jmpNo tengo instalada la versión JMP15. Actualmente usando JMP 11 Pro. Entonces esta sintaxis no se puede aplicar. También probé esa sintaxisRe: Cómo convertir un dato binario de 32 bits a decimal en un script jmpEscribí un guión rápido, puede modificarlo para convertirse en una función:
a = "00000000000110001101011110111000";
sum = 0;
for(i = 1, i<= 32, i++,
sum = sum + num(substr(a, 33-i, 1))*2^(i-1);
);
Re: Cómo convertir un dato binario de 32 bits a decimal en un script jmp@ThuongLe proporcionó una muy buena pieza de JSL.Su modificación en la fórmula de una columna es lo que está causando el problema.Prueba esta fórmula.El código es un poco más genérico y también obliga a la variable "suma" a ser el último elemento ejecutado en la fórmula, que es lo que se devuelve al valor de la fila en la que está trabajando la fórmula.
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;