Necesita un script para leer un solo bit en un código de 8 bitsHola, he estado tratando de encontrar una manera de leer un bit en un código de 8 bits (columna RegRead) para usar para crear una nueva columna.
Parece que no puedo saber cómo hacerlo. en este ejemplo a continuación, estoy tratando de preparar el bit [3], ¿alguien puede ayudarme?
muy apreciado.
Rayo

Tabla de datosRe: Necesito un script para leer un solo bit en un código am de 8 bits¿Es así como se ven los datos en una tabla de datos JMP? ¿La columna es una columna de caracteres o una columna numérica? Hay al menos 3 posibilidades diferentes:
Si los datos ya son caracteres, "1" y "0", entonces la función substr() debería poder tomar el quinto carácter (suponiendo que los caracteres "0" iniciales estén presentes). Pruebe con cuidado; si llama al LSB bit 0 vs bit 1 cambia la respuesta, y substr comienza en 1, no en 0.
Si el valor es un número, que extrañamente muestra un número de base 10 que parece un número de base 2, (1) es posible que desee volver a importarlo como carácter o (2) puede usar mod (piso (RegRead/1000), 2).
Si el valor es un número entre 0 y 255, puede usar mod(floor(RegRead/8),2). Dividir por 8 cambia el patrón de bits tres lugares a la derecha, el piso descarta la fracción, mod-2 es 1 para respuestas impares cuando el LSB es 1.
Otra posibilidad podría ser numérica de -128 a 127 si la transferencia de alguna manera piensa que el MSB es un bit de signo.
Re: Necesito un script para leer un solo bit en un código am de 8 bitsaquí hay un ejemplo real de columnas (conjunto de datos más pequeño) con la información de cada columna, la columna decimal es numérica y la columna binaria es un carácter.
Estoy interesado en la columna Binario solamente; el LSB cambiará de 0 a 1 según los datos de prueba recopilados y la programación de cada registro.
Uso esta fórmula para convertir de diciembre a binario
dt << Nueva columna ("RegRead_Binary", formula(decimalToBinary = Hex(:RegRead, Base(2), Pad To(3))));
Gracias de nuevo

Re: Necesito un script para leer un solo bit en un código de 8 bitsgracias craig
diste la idea de usar la función SUBSTR() y la probé con columnas aleatorias 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)));
resultados
