如何检查十六进制数是否等于特定的二进制数?

时间:2013-02-10 18:39:27

标签: c binary hex

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

会感激一些帮助!谢谢!

1 个答案:

答案 0 :(得分:1)

请参阅this回答。

  

如果您正在使用GCC,那么您可以使用GCC扩展名:int x = 0b00010000;

所以在你的情况下,它将是:

if( byte == 0b01101000 )
...

请务必在文字中只放8位。