如何使用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中文網其他相關文章!