如何将二进制int转换为字符串?

时间:2016-11-19 07:57:36

标签: c

我希望将二进制的整数表示转换为字符串。我不允许使用按位操作。 当我将十进制整数值转换为整数二进制表示时,我可以将数字放在字符串中并反转,但我正在寻找更优雅的方式。

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

如果您不能使用按位运算符,只需除以2并检查提醒,如果使用固定大小(即32),则不需要反转字符串,如:

/* Only for positive numbers */

char bin[] = "00000000000000000000000000000000";
int count = 31, num = 25;

while (num) {
    if (num % 2) bin[count] = '1';
    num /= 2;
    count--;
}
printf("%s\n", bin);