C语言程序设计CPD_04更多课件请进我文库(阅读).pptVIP

  • 0
  • 0
  • 约6.01千字
  • 约 42页
  • 2016-12-10 发布于重庆
  • 举报

C语言程序设计CPD_04更多课件请进我文库(阅读).ppt

C语言程序设计CPD_04更多课件请进我文库(阅读)

例4.3 按位异或运算 设: unsigned char a173, b203, c; ca^b; 运算结果见下表:a 1 0 1 0 1 1 0 1十进制数173^ b 1 1 0 0 1 0 1 1十进制数203c 0 1 1 0 0 1 1 0十进制数102按位异或的用途也很多,例如当需要将某一位的值进行翻转时,就可利用该运算。试考虑:需将上例中变量a的第6位的值进行翻转,其它位不变,如何办? 例4.4 将两个数交换,不用中间变量 设: int a5, b6; /* 二进制分别为101和110 */a 1 0 1^ b 1 1 0aa^b;a 0 1 1^ b 1 1 0 ba^b;b 1 0 1^ a 0 1 1 ab^a;a 1 1 0 即:① ba^ba^b^ba^b^ba^0a // b^b0② ab^aa^a^ba^a^b0^bb // a^a0 4.11.4 按位取反运算符按位取反运算符“~”只需要一个运算量,作用是将这个运算量的各个位都分别对应进行“取反”的运算,其规则为:~10101 即,~1得0, ~0得1。这里的0和1都是数据的某一“位”的值,且取反位运算也只适合于整型包括字符数据类型。 例4.5 按位取反运算 设: unsigned char a 173, b 203, c; c ~a; 运算结果见下表:~

文档评论(0)

1亿VIP精品文档

相关文档