首页 > OOP语言 > C语言 > 正文

C操作符练习
2014-08-11 09:50:09   来源:www.bianceng.cn   评论:0 点击:

暂时无描述信息

Task1:二进制位操作符

#include <stdio.h>

#define PRINT(int) printf(#int " = %d\n",int)

int main(void)

{

int x,y,z;

/*

 优先级:位运算符中:& > |

   位运算符& > 逻辑运算符&&

   

*/

x = 03; y = 02; z = 01;

PRINT(x | y & z); //0011 | 0000 = 3

PRINT(x | y & ~ z); //0011 | 0010 = 3

PRINT(x ^ y & ~ z); //0011 ^ 0010 = 1

PRINT(x & y && z); //2 && 1 = 1

x = 1; y = -1;

PRINT(! x | x);  //((!x) | x)=false | x = 1

// http://www.bianceng.cn

PRINT(~ x | x);  //1111 = -1

PRINT(x ^ x);  //0001 ^ 0001 = 0

x <<= 3;PRINT(x); //左移n位效果上看成乘以n个2 = 8

y <<= 3;PRINT(y); //………………………………&hellip ;= -8

y >>= 3;PRINT(y); //右移n位效果上看成除以n个2 = -1

return 0;

}

输出结果:

x | y & z = 3

x | y & ~ z = 3

x ^ y & ~ z = 1

x & y && z = 1

! x | x = 1

~ x | x = -1

x ^ x = 0

x = 8

y = -8

y = -1

相关热词搜索:

上一篇:C语言中判断一个数是否是回文数
下一篇:1、2、3、4这4个数字,能组成多少个互不相同且无重复数字的三位数

分享到: 收藏