程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> C言語十進制轉二進制代碼實例

C言語十進制轉二進制代碼實例

編輯:關於C++

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);
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved