c - c语言十进制转二进制
问题描述
我对编码很陌生。这是我编写的将十进制转换为二进制的程序,但有一个问题我得到了结果,但它是相反的
示例:122
is的二进制,1111010
我得到 output 0101111
。
谁能告诉我是否可以在我的代码中反转输出?或者我可以在下面进行哪些更改以获得正确的输出?
#include<stdio.h>
int main()
{
int n, q, r;
printf("Enter the decimal Number : ");
scanf("%d", &n);
int num=n;
while(n!=0)
{
r=n%2;
q=n/2;
printf("%d", r);
n=q;
}
return 0;
}
解决方案
好像您是编码新手。没关系,问题就在这里。
十进制转二进制是这样的,
例如:
除以 2 | 商 | 提醒 | 少量 |
---|---|---|---|
10/2 | 5 | 0 | 0 |
5/2 | 2 | 1 | 1 |
2/2 | 1 | 0 | 2 |
1/2 | 0 | 1 | 3 |
=(1010)
所以输出应该有从下到上提醒列的数字。您的输出是从上到下打印的。
请参阅下面的代码,您需要一个数组来存储提醒并以相反的顺序打印数组,以便获得所需的输出
#include<stdio.h>
#include<stdlib.h>
int main(void){
int a[10],n,i;
printf("Enter the decimal Number : ");
scanf("%d",&n);
for(i=0;n>0;i++)
{
a[i]=n%2;
n=n/2;
}
printf("\nBinary of Given Number is=");
for(i=i-1;i>=0;i--)
{
printf("%d",a[i]);
}
return 0;
}
推荐阅读
- highcharts - Highcharts:如何在 xaxis 上只显示天数?
- javascript - 更改文本颜色 javascript
- github - 如何从 GitHub 执行脚本
- selenium-webdriver - 阻止登录 Facebook 的弹出窗口
- python - Python我想替换年龄列的每个值
- sql - 使用 Postgresql 将单行中的值拆分为多行
- javascript - 不连贯的数据 Firebase 侦听器
- python - TimeSeries - PACF、ACF - ARIMA 建模未反映清晰的模式?随机行走?
- javascript - Javascript JSON.parse 预期参数问题
- c++ - 堆中连续分配对象的动态向量