这个函数是什么意思?

img


定义了一个函数 但是不明白这个函数是什么意思 m<<=1又是什么意思


int m(int num){
    int mask=1;
    int mult=1;
    int i;
    for(i=1;i<=10;i++,mask<<=1){    /* 设定一个循环,循环次数为10次(i的值),每次循环i自动增加1(i++),mask<<=1是左移,mask值为1,左移1位后为10) */
        if((num&mask)!=0){  //如果num与mask的值不为0(1&1!=0为true)
            mult=0;    //把mult值置零
            break;      //跳出整个循环
        }
    }
    return mult;    //返回mult的值(返回0)
}