首页 > 解决方案 > 为什么我的 C 程序没有将大于 1000 的十进制数转换为二进制?

问题描述

这是我写的函数:

int desdvejet(int sk_b)
{
    int b = 0;
    int nr;
    int x = 1;

    while(sk_b != 0)
    {
        nr = sk_b % 2;
        sk_b = sk_b / 2;
        b = b + nr * x;
        x = x * 10;
    }

    return b;
}

(sk_b 是十进制数)如果我尝试用数字 2487 对其进行测试,这就是我得到的输出 - 1325862303 1000 以下的数字可以正常工作。

标签: cfunctionbinarydecimal

解决方案


推荐阅读