nVidia API를 사용하여 모니터의 EDID 정보를 얻는 방법은 128 개의 서명되지 않은 문자 배열을 제공합니다. 그러나 edid 데이터 형식을 wikipedia에서 읽었을 때 제조사 ID (바이트 8-9)의 문자가 5 비트 숫자로 표시되어 C++로 의미있는 데이터로 읽는 방법을 알지 못합니다. .EDID에서 숫자 데이터를 구문 분석하는 방법
나의 계획은 단지 edid의 형식과 일치하는 구조체 유형을 정의하고 구조체 유형으로 내 char 배열을 형 변환하는 것이었지만 지금 알고있는 가장 작은 크기의 데이터 유형 C++은 1 바이트 크기입니다.
감사합니다.
빌.
찰스 고마워, 나는 또 다른 질문이있다. 데이터는 char 배열에 저장되므로 데이터를 읽는 데 필요한 일종의 오프셋이 필요합니다. 첫 번째 숫자는 비트 0-4이고, 두 번째 비트는 비트 5-9 ... 그래서 마지막 문자가됩니다. 첫 번째 바이트의 3 비트와 두 번째 바이트의 첫 번째 비트 등. 나는 숯에서 오프셋을 읽는 방법을 모르겠다. –
문자 배열에서 오프셋을 주소 지정하는 것과 같은 방식으로 일반적으로 '[]'연산자. 예를 들어, 2 번째 바이트의 5 비트를 추출하기 위해 비트 연산을 수행하려면,'array [1] & 0x1F'라고 말할 수 있습니다 –