在C中将十进制转换为二进制

mrp*_*opo 2 c binary decimal

我正在尝试将十进制转换为二进制,例如 192 到 11000000。我只需要一些简单的代码来执行此操作,但到目前为止我的代码不起作用:

void dectobin(int value, char* output)
{
    int i;
    output[5] = '\0';
    for (i = 4; i >= 0; --i, value >>= 1)
    {
        output[i] = (value & 1) + '0';
    }
}
Run Code Online (Sandbox Code Playgroud)

任何帮助将非常感激!

Age*_*t_L 5

该值不是十进制。计算机内存中的所有值都是二进制的。

您想要做的是将 int 转换为使用特定基数的字符串。有一个函数可以做到这一点,它叫做itoa. http://www.cplusplus.com/reference/cstdlib/itoa/

  • 以及函数 sprintf 和 sscanf (2认同)