Cプログラミングを使用した10進数から2進数への変換
問題
Cプログラミング言語の関数を使用して10進数を2進数に変換するにはどうすればよいですか?
解決策
このプログラムでは、main()で関数をbinaryに呼び出しています。呼び出された関数からバイナリへの変換は実際に実行されます。
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("\n The Binary value is : %ld\n\n",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\n",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++での10進数から2進数への変換プログラム
10進数を入力として指定すると、タスクは指定された10進数を2進数に変換することです。 コンピューターの10進数は10進数で表され、2進数は2進数の0と1の2つしかないため、2進数で表されますが、10進数は0〜9から始まる任意の数値にすることができます。 10進数を2進数に変換するには、次の手順に従います- まず、指定された数値を変換数値の基本値で除算します。例: 42を2を底とする2進数に変換し、商を取得して格納する必要があるため、42を2で除算します。余りが0の場合、ビットを0として格納します。それ以外の場合は1です。 取得した商を2進数の基数である2で除算し、ビットを格納し続けます
-
C++での2進数から10進数への変換プログラム
2進数を入力として指定すると、タスクは指定された2進数を10進数に変換することです。 コンピューターの10進数は10進数で表され、2進数は2進数の0と1の2つしかないため、2進数で表されますが、10進数は0〜9から始まる任意の数値にすることができます。 2進数を10進数に変換するには、右から左に向かって残りの数字を抽出し、0から始まる2の累乗を掛けて、(桁数)–1まで1ずつ増やします。乗算された値を加算し続けて、最終的な10進数値を取得します。 以下に、2進数を10進数に変換する図を示します。 例 Input-: 1010 0 will be conver