Besoin d'un script pour lire un seul bit dans un code 8 bitsSalut, j'ai essayé de trouver un moyen de lire un bit dans un code 8 bits (colonne RegRead) à utiliser pour créer une nouvelle colonne.
Je n'arrive pas à savoir le faire. dans cet exemple ci-dessous, j'essaie de préparer le bit [3], quelqu'un peut-il m'aider
très appréciée.
Rayon

Tableau de donnéesRe : Besoin d'un script pour lire un seul bit dans un code 8 bitsEst-ce à quoi ressemblent les données dans une table de données JMP ? La colonne est-elle une colonne de caractères ou une colonne numérique ? Il existe au moins 3 possibilités différentes :
Si les données sont déjà des caractères, "1" et "0", alors la fonction substr() devrait être capable de saisir le 5ème caractère (en supposant que les premiers caractères "0" sont présents.) Testez soigneusement ; si vous appelez le LSB bit 0 vs bit 1 change la réponse, et substr commence à 1, pas 0.
Si la valeur est un nombre, montrant bizarrement un nombre de base 10 qui ressemble à un nombre de base 2, (1) vous voudrez peut-être le réimporter en tant que caractère ou (2) vous pouvez utiliser mod(floor(RegRead/1000), 2).
Si la valeur est un nombre compris entre 0 et 255, vous pouvez utiliser mod(floor(RegRead/8),2). Diviser par 8 décale le motif binaire de trois places vers la droite, le sol jette la fraction, mod-2 est 1 pour les réponses impaires lorsque le LSB est 1.
Une autre possibilité pourrait être numérique de -128 à 127 si le transfert pense d'une manière ou d'une autre que le MSB est un bit de signe.
Re : Besoin d'un script pour lire un seul bit dans un code 8 bitsvoici un exemple réel de colonnes (ensemble de données plus petit) avec les informations de chaque colonne, la colonne décimale est numérique et la colonne binaire est un caractère.
Je ne suis intéressé que par la colonne binaire ; le LSB passera de 0 à 1 en fonction des données de test collectées et de la programmation de chaque registre.
J'utilise cette formule pour convertir de décembre en binaire
dt << Nouvelle colonne ("RegRead_Binary", formula(decimalToBinary = Hex(:RegRead, Base(2), Pad To(3))));
Merci encore

Re : Besoin d'un script pour lire un seul bit dans un code 8 bitsMerci Craig
vous avez donné l'idée d'utiliser la fonction SUBSTR() et je l'ai testé avec des colonnes aléatoires 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)));
résultats
