純C 位元移動運算實現2次方運算+簡易家法[C_Byte_setBit]

純C 位元移動運算實現2次方運算+簡易家法[C_Byte_setBit]

純C 位元移動運算實現2次方運算+簡易家法[C_Byte_setBit]


GITHUB: https://github.com/jash-git/C_Byte_setBit


#include <stdio.h>
#include <stdlib.h>

unsigned char C_Byte_setBit(unsigned char data,int num)
{//²¾°Ê¦¸¼Æ(1,2,3,4,5,6,7,8)¹ïÀ³ªº­È=1,2,4,8,16,32,64,128
    unsigned char d=1;//2^0
    if(num>0)
    {
        d=d<<(num-1);
    }
    else
    {
        d=0;
    }

    data=data|d;
    return data;
}
int main()
{
    unsigned char d='\0';
    d=C_Byte_setBit(d,8);
    printf("%d\n", d);
    d=C_Byte_setBit(d,1);//out->1
    printf("%d\n", d);
    d=C_Byte_setBit(d,2);//out->3
    printf("%d\n", d);
    return 0;
}

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *