Hai bisogno di uno script per leggere un singolo bit in un codice a 8 bitCiao, ho cercato di trovare un modo per leggere un bit in un codice a 8 bit (colonna RegRead) da utilizzare per creare una nuova colonna.
Non riesco a sapere di farlo. in questo esempio di seguito, sto cercando di preparare il bit[3], qualcuno può aiutarlo
molto apprezzato.
Ray

Tabella datiRe: Serve uno script per leggere un singolo bit in un codice a 8 bitÈ così che appaiono i dati in una tabella di dati JMP? La colonna è una colonna di caratteri o una colonna numerica? Ci sono almeno 3 diverse possibilità:
Se i dati sono già caratteri, "1" e "0", allora la funzione substr() dovrebbe essere in grado di catturare il 5° carattere (supponendo che siano presenti i caratteri "0" iniziali). Testare attentamente; se chiami LSB bit 0 vs bit 1 cambia la risposta e substr inizia da 1, non da 0.
Se il valore è un numero, che mostra stranamente un numero in base 10 che sembra un numero in base 2, (1) potresti volerlo reimportare come carattere o (2) potresti usare mod(floor(RegRead/1000), 2).
Se il valore è un numero compreso tra 0 e 255, potresti usare mod(floor(RegRead/8),2). Dividi per 8 sposta il modello di bit di tre posizioni a destra, floor elimina la frazione, mod-2 è 1 per risposte dispari quando LSB è 1.
Un'altra possibilità potrebbe essere numerica da -128 a 127 se il trasferimento ritiene in qualche modo che l'MSB sia un bit di segno.
Re: Serve uno script per leggere un singolo bit in un codice a 8 bitecco un esempio reale di colonne (set di dati più piccolo) con le informazioni di ciascuna colonna, la colonna decimale è numerica e la colonna binaria è un carattere.
Sono interessato solo alla colonna Binary; l'LSB passerà da 0 a 1 in base ai dati di test raccolti e alla programmazione di ciascun registro.
Uso questa formula per convertire da Dec a Binary
dt << Nuova colonna ("RegRead_Binary", formula(decimalToBinary = Hex(:RegRead, Base(2), Pad To(3))));
Grazie ancora

Re: È necessario uno script per leggere un singolo bit nel codice a 8 bitGrazie Craig
hai dato l'idea di utilizzare la funzione SUBSTR() e l'ho testata con colonne casuali 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)));
risultati
