首頁 > 後端開發 > C++ > 主體

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

WBOY
發布: 2023-09-06 23:09:05
轉載
1412 人瀏覽過

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

問題

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

解決方案

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

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

while(dno != 0){
   rem = dno % 2;
   bno = bno + rem * f;
   f = f * 10;
   dno = dno / 2;
}
登入後複製

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

範例

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

< p> 現場示範

#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
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板