C/C++小技巧
2015-06-04 09:55
316 查看
一、引言
在编程学习中,总结一些小小的技巧。
二、位运算和算术运算符之间的关系
nginx中关于字符改大小写的实现:
可以看出来,实际就是一个加0x20和减0x20的操作。
那么就总结一下:
+: 位或的操作;比如:+32,就是 | 0x20
-: 与、非操作;比如:-32,就是 | ~0x20
*: 左移
/ : 右移
%: 与模值,比如: &1111111(256)
在编程学习中,总结一些小小的技巧。
二、位运算和算术运算符之间的关系
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)
相关文章推荐
- C语言的数据类型→浮点型数据
- KMP 算法 C++
- C++临时对象
- C语言printf和scanf的使用
- C语言基础
- c++ primer 学习笔记(2)迭代器
- C++实现页码数字统计
- String类的实现 三大复制控制函数(C++笔试题 )
- 【深度探索C++对象模型读书笔记】【第3章】Data语意学
- 【深度探索C++对象模型读书笔记】【第3章】Data语意学
- C语言常量变量
- Halcon导出的cpp, VC++环境配置
- QML和C++混合编程--在C++应用程序中使用QML
- C语言数据类型
- C语言简介
- [c++]基类对象作为函数参数(赋值兼容规则)
- C++学习笔记:类
- chapter10test3
- 《c++ primer》 第五版 第二章 笔记
- C++利用宏动态命名变量名