Cプログラミング
 Computer >> コンピューター >  >> プログラミング >> Cプログラミング

10進数を2進数に変換するCプログラム


Cプログラミング言語で小数を小数に変換する方法を理解するには、以下の例を検討してください。

例1 −25からバイナリへの変換。

ステップ1− 25/2レム:1、クォー:12

ステップ2− 12/2レム:0、クォー:6

ステップ3− 6/2レム:0、クォー:3

ステップ4− 3/2 Rem:1、Quo:1

ステップ5− 1/2レム:1、クォー:0

したがって、同等の2進数は次のようになります。11001

例2 −0.7からバイナリへの変換。

ステップ1− 0.7 * 2 =1.4、Int part =1

ステップ2− 0.4 * 2 =0.8、Int part =0

ステップ3− 0.8 * 2 =1.6、Int part =1

ステップ4− 0.6 * 2 =1.2、Int part =1

ステップ5− 0.2 * 2 =0.4、Int part =0

ステップ6− 0.4 * 2 =0.8、Int part =0

したがって、同等の2進数は0.101100

ステップ3-最後に、10進数25.7の2進値は次のとおりです-

11001 + 0.101100 = 1101.101100

以下は、小数を2進数に変換するCプログラムです。 −

#include<stdio.h>
int main(){
   long double fraDecimal,fraBinary,bFractional = 0.0,dFractional,fraFactor=0.1;
   long int dIntegral,bIntegral=0;
   long int intFactor=1,remainder,temp,i;
   printf("Enter any fractional decimal number: ");
   scanf("%Lf",&fraDecimal);
   dIntegral = fraDecimal;
   dFractional = fraDecimal - dIntegral;
   while(dIntegral!=0){
      remainder=dIntegral%2;
      bIntegral=bIntegral+remainder*intFactor;
      dIntegral=dIntegral/2;
      intFactor=intFactor*10;
   }
   for(i=1;i<=6;i++){
      dFractional = dFractional * 2;
      temp = dFractional;
      bFractional = bFractional + fraFactor* temp;
      if(temp ==1)
         dFractional = dFractional - temp;
      fraFactor=fraFactor/10;
   }
   fraBinary = bIntegral + bFractional;
   printf("Equivalent binary value: %lf",fraBinary);
   return 0;
}

出力

上記のプログラムを実行すると、次の結果が得られます-

Enter any fractional decimal number: 5.7
Equivalent binary value: 101.101100

  1. Pythonプログラムで10進数を2進数に変換する

    この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 − 10進数が与えられているので、それに相当する2進数に変換する必要があります。 与えられた問題を解決するための2つのアプローチがあります。それらを1つずつ見てみましょう- 再帰的アプローチ 例 def DecimalToBinary(num):    if num > 1:       DecimalToBinary(num // 2)    print(num % 2, end = '') # main if _

  2. 10進数を2進数に変換するPythonプログラム

    この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 数値を指定すると、2進数に変換する必要があります。 アプローチ1-再帰的ソリューション DecToBin(num):    if num > 1:       DecToBin(num // 2)       print num % 2 例 def DecimalToBinary(num):    if num > 1:       Decimal