繁体   English   中英

十进制到二进制转换输出

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM