ホームページ >バックエンド開発 >C++ >10進数を2進数に変換するC言語プログラムの実装

10進数を2進数に変換するC言語プログラムの実装

WBOY
WBOY転載
2023-09-06 23:09:051455ブラウズ

10進数を2進数に変換するC言語プログラムの実装

質問

C言語の関数を使用して10進数を2進数に変換するにはどうすればよいですか?

解決策

このプログラムでは、main() でバイナリ関数を呼び出します。呼び出された 2 進数変換関数が実際の変換を実行します。

10 進数を 2 進数に変換するために使用する呼び出し関数のロジックは次のとおりです。 -

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

最後に、2 進数がメイン プログラムに返されます。

次は、10 進数を 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

さて、2進数を10進数に変換してみます。

次は、2 進数を 10 進数に変換する C プログラムです -

ライブ デモンストレーション

#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

以上が10進数を2進数に変換するC言語プログラムの実装の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。