首頁 >後端開發 >C++ >十進制轉二進制的C語言程式實現

十進制轉二進制的C語言程式實現

WBOY
WBOY轉載
2023-09-06 23:09:051440瀏覽

十進制轉二進制的C語言程式實現

問題

如何使用C語言中的函數將十進位數轉換為二進位數?

解決方案

在這個程式中,我們在 main() 中呼叫一個二進位函數。被呼叫的二進制數轉換函數將執行實際的轉換。

我們使用的將十進制數轉換為二進制數的呼叫函數的邏輯如下 -

while(dno != 0){
   rem = dno % 2;
   bno = bno + rem * f;
   f = f * 10;
   dno = dno / 2;
}

最後將二進制數傳回給主程式。

範例

以下是將十進位數轉換為二進位數的C程式-

 現場示範
#include<stdio.h>
long tobinary(int);
int main(){
   long bno;
   int dno;
   printf(" Enter any decimal number : ");
   scanf("%d",&dno);
   bno = tobinary(dno);
   printf("</p><p> The Binary value is : %ld</p><p></p><p>",bno);
   return 0;
}
long tobinary(int dno){
   long bno=0,rem,f=1;
   while(dno != 0){
      rem = dno % 2;
      bno = bno + rem * f;
      f = f * 10;
      dno = dno / 2;
   }
   return bno;;
}

輸出

當執行上述程式時,會產生以下結果-

Enter any decimal number: 12
The Binary value is: 1100

現在,嘗試將二進位數轉換為十進位數。

範例

以下是將二進位數轉換為十進位數的C 程式-

 Live示範

#include
#include <stdio.h>
int todecimal(long bno);
int main(){
   long bno;
   int dno;
   printf("Enter a binary number: ");
   scanf("%ld", &bno);
   dno=todecimal(bno);
   printf("The decimal value is:%d</p><p>",dno);
   return 0;
}
int todecimal(long bno){
   int dno = 0, i = 0, rem;
   while (bno != 0) {
      rem = bno % 10;
      bno /= 10;
      dno += rem * pow(2, i);
      ++i;
   }
   return dno;
}

輸出

#當執行上述程序時,會產生以下結果-

Enter a binary number: 10011
The decimal value is:19

以上是十進制轉二進制的C語言程式實現的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除