C/C++小技巧
一、引言
在编程学习中,总结一些小小的技巧。
二、位运算和算术运算符之间的关系
nginx中关于字符改大小写的实现:
#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) // 小写字符转大写
可以看出来,实际就是一个加0x20和减0x20的操作。
那么就总结一下:
+: 位或的操作;比如:+32,就是 | 0x20
-: 与、非操作;比如:-32,就是 | ~0x20
*: 左移
/ : 右移
%: 与模值,比如: &1111111(256)
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。