在源码中发现的位运算的小技巧,边看边整理了,欢迎补充。
1、字符大小写转换
#define ngx_tolower(c) (u_char) ((c >= 'A' && c <= 'Z') ? (c | 0x20) : c) |
| #define ngx_toupper(c) (u_char) ((c >= 'a' && c <= 'z') ? (c & ~0x20) : c) |
2、swap(a,b)
b=a^b;a=b^a;b=b^a;
在源码中发现的位运算的小技巧,边看边整理了,欢迎补充。
1、字符大小写转换
#define ngx_tolower(c) (u_char) ((c >= 'A' && c <= 'Z') ? (c | 0x20) : c) |
| #define ngx_toupper(c) (u_char) ((c >= 'a' && c <= 'z') ? (c & ~0x20) : c) |
2、swap(a,b)
b=a^b;a=b^a;b=b^a;
转载于:https://my.oschina.net/ccdvote/blog/163728