gpt4 book ai didi

将十进制数转换为二进制数

转载 作者:行者123 更新时间:2023-11-30 20:14:08 26 4
gpt4 key购买 nike

我的程序应该将十进制数转换为二进制数。第一个 for 循环用于计算二进制数。第二个循环将 msb 放入数组的第一个元素中。这是一个练习,最高有效位必须位于第一个元素中。我不明白错误在哪里,非常感谢帮助。

#include<stdio.h>
#include<stdlib.h>

int main(void){

int i;
int bits[16];
int bits_2[16];
int number;
int decimal;
int rest;
int msb;
int result=1;

printf( "Input number smaller than 65536: ");
scanf("%d", &decimal);
if(decimal >= 65536) {
printf( "\n\nincorrect input!");
return EXIT_FAILURE;
}

number=decimal;

for(i=0; result!=0; i++){
result = decimal / 2;
rest = result %2;

bits[i]=rest;
msb = i;
return msb;
}

printf("\n\n %d as binary number : ", number);

for(i=msb; bits[i]>=bits[0]; i--){
bits_2[msb-i] = bits[msb];
printf("%d", bits_2[msb-i]);
}

return 0;
}

最佳答案

result = number = decimal;

for(bits[0]=msb=i=0; result != 0; i++){
bits[i] = result % 2;
result = result / 2;

msb = i;
}

printf("\n\n %d as binary number : ", number);

for(i=msb; i >= 0; i--){
bits_2[msb-i] = bits[i];
printf("%d", bits_2[msb-i]);
}

关于将十进制数转换为二进制数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27680693/

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