0

嗨,我正在尝试做一些应该很简单的事情,但我无法弄清楚。我有一个指向无符号字符数组的指针,我得到第一个元素,它是一个十六进制数。我想将其转换为二进制,以便检查它是否等于诸如 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 回答