Ⅰ 怎用c語言求一個數的二進制
用棧實現,用520除2把所得余數進棧,把商作為新的數除2,再把余數進棧,取商為新的數,如此往復直到商為1為止,然後把棧中的數依次輸出後的1、0組合即為所求數的二進制數。
具體的代碼不便粘貼,有興趣歡迎交流
Ⅱ c語言剛入門,問一下十進制如何轉換二進制,並判斷輸入的十進制是否合法
十進制轉化為二進制可以採用遞歸的方法或者數組加循環的方法。要判斷一個十進制數是否合法,首先需要知道什麼樣的實數才是合法的。使用C語言的輸入函數輸入時C語言系統自動會過濾不合法的字元。遇到非十進制的字元,它會自動結束讀取。所以說,具體什麼樣的情況屬於非法要有更加進一步的說明,並且給出例子。下面的程序是判斷一個輸入的年齡是否合法,並且把它合法的年齡轉換為二進制的程序。
#include
void dec2bin(int n)
{if(n>1)dec2bin(n/2);
printf("%d",n%2);
}
int main()
{ int age; //年齡,若為負數,或>150認定為非法
scanf("%d",&age);
if(age150)
printf("Invalid age!");
else
{printf("%d=(",age);
dec2bin(age);
printf(")2
");
}
return 0;
}
Ⅲ 十進制正整數通過dec2bin轉化為二進制的,並將轉化結果輸出,怎麼些c語言。
1:m%2
2:bin[j]
Ⅳ c語言判斷二進制中1的個數
c語言判斷二進制中1的個數:
#include <stdio.h>
void dec2bin(int x)
{ if(x>1)dec2bin(x/2);
printf("%d",x%2);
}
int count1(int x)
{ int n;
for(n=0; x; x/=2)
n+=x%2;
return n;
}
int main()
{ int x;
scanf("%d",&x);
dec2bin(x);
printf(" %d的二進制中有%d個1 ",x,count1(x));
return 0;
}