由于要用到异或,但无奈得不到类似:
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;
}