gpt4 book ai didi

c++ - 十进制转二进制输出

转载 作者:太空宇宙 更新时间:2023-11-04 06:02:16 27 4
gpt4 key购买 nike

我的代码有什么问题请大家帮帮我。这是十进制到二进制的转换。根据我的代码,输出将是 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 的末尾。

关于c++ - 十进制转二进制输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17106313/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com