嗨,我正在尝试做一些应该简单的事情,但我无法弄明白。 我有一个指向无符号字符数组的指针,我得到第一个元素,它是一个十六进制数字。我想将它转换为二进制,所以我可以检查它是否等于一个数字,如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
会感激一些帮助!谢谢!
答案 0 :(得分:1)
请参阅this回答。
如果您正在使用GCC,那么您可以使用GCC扩展名:int x = 0b00010000;
所以在你的情况下,它将是:
if( byte == 0b01101000 )
...
请务必在文字中只放8位。