[英]Decimal to binary conversion output
我的代码有什么问题,谁能帮助我,这是从十进制到二进制的转换。 根据我的代码,out将是2代表10,3代表11,但是它的输出总是在最后加上最后一个值,就像3代表1110一样,加上之前的输出。 我现在应该怎么办 ? 请帮我
#include<iostream>
#include<stdio.h>
using namespace std;
int main(){
long int decimalNumber,quotient;
int binaryNumber[100],i=0,j;
printf("Enter any decimal number: ");
//scanf_s("%ld",&decimalNumber);
while(scanf_s("%ld",&decimalNumber)==1)
{
quotient = decimalNumber;
while(quotient!=0){
binaryNumber[i++]= quotient % 2;
quotient = quotient / 2;
}
printf("Equivalent binary value of decimal number %d: ",decimalNumber);
for(j = i -1 ;j>= 0;j--)
printf("%d",binaryNumber[j]);
printf("\n");
printf("Enter any decimal number: ");
}
return 0;
}
您需要在每个循环的开始时初始化i
while(scanf_s("%ld",&decimalNumber)==1)
{
i = 0;
如果没有这个,您将把每个新数字附加到最后一个数字的末尾,重复进行直到您写出超出binaryNumber
末尾binaryNumber
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.