0

こんにちは、単純なはずのことをしようとしていますが、わかりません。unsigned chars の配列へのポインターがあり、16 進数である最初の要素を取得します。バイナリに変換して、0x01101000 などの数値と等しいかどうかを確認できるようにします。

      unsigned char arr[] = {0x25};  //just for example. I am actually using *arr.
      unsigned char byte = arr[0];
      if(( byte & 0x01101000) == //not sure if this is the right way to proceed

助けていただければ幸いです。ありがとう!!

4

1 に答える 1

1

この回答を参照してください。

GCC を使用している場合は、GCC 拡張を使用できます: int x = 0b00010000;

したがって、あなたの場合は次のようになります。

if( byte == 0b01101000 )
...

ただし、リテラルには必ず 8 ビットのみを入れてください。

于 2013-02-10T18:44:01.197 に答える