我是C新手,我試圖將十進制轉換爲二進制。 結果是給我一個需要什麼的倒數。 我試圖對結果應用模數,就像我在其他論壇上看到的一樣,但我仍然得到相同的結果。 有什麼幫助嗎?扭轉結果
#include<stdio.h>
int main()
{
int number;
long int quotient, rem;
printf("Enter a number: ");
scanf("%d", &number);
quotient=number;
while (quotient!=0)
{
quotient=quotient/2;
rem=quotient%2;
printf("%ld", rem%10);
rem/=10;
}
}
我接受了一個基於打印功能的建議,但仍然不確定是否理解它仍然給我相同的結果。請看一看。
#include<stdio.h>
void Print(int number,int base)
{
if (number >= base)
Print(number/base,base);
printf("%d",number%base);
}
int main()
{
int number;
long int quotient, rem;
printf("Enter a number: ");
scanf("%d", &number);
quotient=number;
while (quotient!=0)
{
quotient=quotient/2;
rem = quotient%2;
Print(rem, 2);
}
}
只是一個小紙條,因爲我忘了說,我不希望你經歷麻煩。 想法os不使用數組。 謝謝
請參閱http://stackoverflow.com/a/112956/1274314 – TypeIA
首先,我知道如何反轉給定的數字,我可以檢查互聯網如何將小數轉換爲二進制但我沒有它由我自己,但我只是被卡住的結果我越來越 – user2985083
哦,我不能使用陣列 – user2985083