巧妙的位操作

看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;

}

猜你喜欢

转载自mayi-hetu.iteye.com/blog/1936945
今日推荐