位运算符逐位执行操作,包括 6 种
- #include int main() {
- unsigned int a = 60;
- /* 60 = 0011 1100 */
- unsigned int b = 13;
- /* 13 = 0000 1101 */
- int c = 0;
- c = a & b;
- /* 12 = 0000 1100 */
- printf("Line 1 - c 的值是 %d\n", c);
- c = a | b;
- /* 61 = 0011 1101 */
- printf("Line 2 - c 的值是 %d\n", c);
- c = a ^ b;
- /* 49 = 0011 0001 */
- printf("Line 3 - c 的值是 %d\n", c);
- c = ~a;
- /*-61 = 1100 0011 */
- printf("Line 4 - c 的值是 %d\n", c);
- c = a << 2;
- /* 240 = 1111 0000 */
- printf("Line 5 - c 的值是 %d\n", c);
- c = a >> 2;
- /* 15 = 0000 1111 */
- printf("Line 6 - c 的值是 %d\n", c);
- return 0;
- }
- Line 1 - c 的值是 12Line 2 - c 的值是 61Line 3 - c 的值是 49Line 4 - c 的值是 -61Line 5 - c 的值是 240Line 6 - c 的值是 15
可以发现
- ~A = -A - 1
- /* 求补运算 */
就爱阅读 www.92to.com 网友整理上传, 为您提供最全的知识大全, 期待您的分享,转载请注明出处。
来源: http://www.92to.com/bangong/2017/03-14/18740200.html