am 8비트 코드에서 단일 비트를 읽으려면 스크립트가 필요합니다.안녕하세요, 저는 새 열을 만드는 데 사용할 8비트 코드(RegRead 열)에서 한 비트를 읽는 방법을 찾으려고 노력해 왔습니다.
할 줄 모르는 것 같습니다. 아래 예에서 비트[3]을 준비하려고 합니다. 누군가 도와줄 수 있습니까?
매우 감사.
레이

데이터 테이블Re: am 8비트 코드에서 단일 비트를 읽으려면 스크립트가 필요합니다.이것이 JMP 데이터 테이블의 데이터 모양입니까? 열이 문자 열입니까 아니면 숫자 열입니까? 최소한 3가지 다른 가능성이 있습니다.
데이터가 이미 "1" 및 "0" 문자인 경우 substr() 함수는 5번째 문자를 가져올 수 있어야 합니다(앞에 "0" 문자가 있다고 가정). 신중하게 테스트하십시오. LSB 비트 0 대 비트 1을 호출하면 대답이 변경되고 substr은 0이 아닌 1에서 시작합니다.
값이 숫자인 경우 기이하게 2진법 숫자처럼 보이는 10진법 숫자를 표시하는 경우 (1) 문자로 다시 가져오기를 원하거나 (2) mod(floor(RegRead/1000), 2).
값이 0에서 255 사이의 숫자이면 mod(floor(RegRead/8),2)를 사용할 수 있습니다. 8로 나누면 비트 패턴이 오른쪽으로 세 자리 이동하고 floor는 분수를 버리고 mod-2는 LSB가 1일 때 홀수 응답에 대해 1입니다.
전송이 어떻게든 MSB가 부호 비트라고 생각하는 경우 다른 가능성은 -128에서 127 사이의 숫자일 수 있습니다.
Re: am 8비트 코드에서 단일 비트를 읽으려면 스크립트가 필요합니다.다음은 각 열의 정보가 있는 열(더 작은 데이터 세트)의 실제 예입니다. 십진 열은 숫자이고 이진 열은 문자입니다.
Binary 열에만 관심이 있습니다. LSB는 수집된 테스트 데이터와 각 레지스터의 프로그래밍에 따라 0에서 1로 변경됩니다.
이 공식을 사용하여 Dec에서 Binary로 변환합니다.
dt << 새 열("RegRead_Binary", Formula(decimalToBinary = Hex(:RegRead, Base(2), Pad To(3))));
다시 한 번 감사합니다

Re: am 8비트 코드에서 단일 비트를 읽으려면 스크립트가 필요합니다.크레이지 감사합니다
당신은 SUBSTR() 함수를 사용하는 아이디어를 줬고 나는 임의의 열 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)));
결과
