巧妙的位操作

看larbin源代码,看到一个很巧妙的字符串忽略大小写比较实现

A:65(0100 0001),a:97(0110 0001)

 

A | 32 == a

a & 0xDF == A

 

bool startWithIgnoreCase (char *amin, char *b) {

  int i=0;

  while (amin[i] != 0) {

    if (amin[i] != (b[i]|32)) return false;

    i++;

  }

  return true;

}

你可能感兴趣的:(位操作)