c - 为什么我的 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 以下的数字可以正常工作。
解决方案
推荐阅读
- python - 使用 pdfminer 解析 pdf 时忽略编码错误
- javascript - 我正在尝试使用 nodejs 代码从 GPC 中删除特定的任务队列
- c# - 我在我的主类函数中使用浮动价格和 int categoryDD,但是当我在保存按钮中转换它时,它给了我错误
- javascript - 以编程方式从移动设备上的元素中删除“悬停状态”
- go - 与守护进程的数据交换
- c++ - 带有 OpenCV4 C++ 的节点插件模块
- c++ - 在 TCHAR 数组上构造 if 语句
- java - 无法使用 getExternalFilesDir() 将文件保存到设备下载文件夹
- laravel - 为什么laravel查询有加号问题
- python - 如何在 Pandas 中比较 3 个或更多 DataFrame 的相等性?