请问如何实现把十进制整数转换为0b格式二进制数

由于要用到异或,但无奈得不到类似:

int a = 0b0011110101001110;

这样的数。

已经写的一个函数,仅仅是输出二进制数。

int Deciman_to_Binary(int x)
{
    if ( x > 0 )
    {
        Deciman_to_Binary( x / 2 );
        printf("%d",x % 2);
    }
    else
    {
        return;
    }
}

或许帮忙改一下函数。如果可以,不胜感激!

大致给你个思路,希望可以帮到你,望采纳。



void Deciman_to_Binary(char cs[34], int x) {
    int i = -1;
    while (x > 0) {
        cs[++i] = (x & 1) + '0';
        x >>= 1;
    }
    cs[i + 1] = 'b';
    cs[i + 2] = '\0';
    int l = 0;
    int r = i;
    while (l < r) {
        char c = cs[l];
        cs[l] = cs[r];
        cs[r] = c;
        ++l;
        --r;
    }
}

int main() {
    char cs[34];
    Deciman_to_Binary(cs, 1024);
    printf("%s", cs);
    return 0;
}

img