操作符:1、写一个函数返回参数二进制中 1 的个数 2、获取一个整数二进制序列中所有的偶数位和奇数位 3、两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同?

知识点(1):
i++和++i的区别:
++i是先加后赋值
i++是先赋值后加
++i 和I++都是分两步完成的
因为++i是后面一步才赋值的,所以它能够当作一个变量进行级联赋值,++i==b;即++i是一个左值;i++的后面一步是自增,不是左值。
知识点(2):
&(按位与操作):对应位如果全为1,运算结果为1,否则为0
11—>1
10—>0
01—>0
00—>0
|(按位或操作):对应位如果全是0,结果为0,否则为1
11—>1
10—>1
01—>1
00—>0
^(异或):相同为0 ,相异为1,abb=a
11,00—>0
10,01—>1
~(按位取反操作):原来是1变成0,原来是0变成1,这个运算符是单目运算符,只有一个操作数
对应位:上下对齐的位
0000 1010
0001 0100

1、求运行结果:

#include<stdio.h>
int main()
{
   
    int a, b, c;
    a = 5;
    c = ++a;//a=6;c=6
    b = ++c, c++, ++a, a++;//c=7;b=7;  b=7,c=8;  a=7;b=7;  b=7;a=8;
    b += a++ + c;//a=9;c=8;b=7+9+8=23
    printf("a = %d b = %d c = %d\n:", a, b, c);
    return 0;
}

运行结果:a = 9 b = 23 c = 8
在这里插入图片描述
2、不允许创建临时变量,交换两个整数的内容
^(异或):相同为0 ,相异为1,a^b^b=a
11,00—>0
10,01—>1


                
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值