nVidia APIを使用してモニタのEDID情報を取得する方法があります。これは128個の符号なし文字の配列を返します。しかし、edidのデータフォーマットをwikipediaに読み上げると、私はメーカーのID(バイト8-9)の文字は5ビットの数字で表されていることに気がついたので、意味のあるデータとしてC++に読み込む方法は分かりません。EDIDから数値データを解析する方法
私の計画では、edidのフォーマットにマッチしたstruct型を定義して、そのchar型配列をそのstruct型にキャストしていましたが、私が知っている最小サイズのデータ型C++は1バイトのサイズです。
ありがとうございました。
ビル。
チャールズさんに感謝します。データはchar配列に格納されているので、データを読み込むためのオフセットが必要です。最初の数値はビット0〜4、2番目のビットはビット5〜9 ...ですので、最後の数値になります最初のバイトの3ビットと2番目のバイトの最初のビットなど。私はどのように私は文字からいくつかのオフセットからの読み取りを開始するだろうか分からない –
通常は、 '[]'演算子。たとえば、2バイト目の5ビットを抽出するビット操作を実行する場合は、 'array [1]&0x1F'と言うことができます –