C言語十進制轉二進制代碼實例。本站提示廣大學習愛好者:(C言語十進制轉二進制代碼實例)文章只能為提供參考,不一定能成為您想要的結果。以下是C言語十進制轉二進制代碼實例正文
用C言語完成將十進制轉化為二進制,並統計轉換後的二進制碼中1的個數。
#include <stdio.h>
int binaryNum[16]; //寄存轉換後失掉的二進制碼
int count=0; //計數十進制整數被2除的次數
int oneCount=0; //失掉的二進制碼中1的個數
void main(){
int num;
printf("輸出一個十進制的整數:");
scanf("%d",&num);
while( (num/2) != 1 ){ //判別條件為:除以2之後的商不等於1
binaryNum[count] = num%2; //取余後的數字存入數組
num /= 2; //num = num/2; 停止下一輪的判別
count++; //此變量用來指定數組下標
}
binaryNum[count+1] = 1; //最後一次除法做完當前,剩下的商一定是1,所以在最先手動添加一個1
printf("二進制數值為:");
//倒序打印出數組中的元素
// sizeof(整形數組)/sizeof(整形單個元素大小) = 數組的元素個數
for( int i=sizeof(binaryNum)/sizeof(int)-1; i>=0; i-- ){
if( binaryNum[i] == 1)
oneCount++; //呈現一次1就累加
printf("%d",binaryNum[i]);
}
printf("\n共有%d個1\n",oneCount);
}