2進数を10進数に、またはその逆に変換するC++プログラム
コンピュータシステムでは、2進数は2進数で表され、10進数は10進数で表されます。 2進数は基数2で、10進数は基数10です。
10進数とそれに対応する2進数の例は次のとおりです-
10 | 01010 |
7 | 00111 |
25 | 11001 |
16 | 10000 |
例
#include <iostream> using namespace std; void DecimalToBinary(int n) { int binaryNumber[100], num=n; int i = 0; while (n > 0) { binaryNumber[i] = n % 2; n = n / 2; i++; } cout<<"Binary form of "<<num<<" is "; for (int j = i - 1; j >= 0; j--) cout << binaryNumber[j]; cout<<endl; } int BinaryToDecimal(int n) { int decimalNumber = 0; int base = 1; int temp = n; while (temp) { int lastDigit = temp % 10; temp = temp/10; decimalNumber += lastDigit*base; base = base*2; } cout<<"Decimal form of "<<n<<" is "<<decimalNumber<<endl;; } int main() { DecimalToBinary(23); BinaryToDecimal(10101); return 0; }
出力
Binary form of 23 is 10111 Decimal form of 10101 is 21
上記のプログラムには、DecimalToBinaryとBinaryToDecimalの2つの関数があります。これらは、数値をそれぞれ10進数から2進数に、2進数から10進数に変換します。
DecimalToBinary関数では、10進数nのバイナリ値が配列binaryNumber[]に格納されます。 whileループが使用され、nモジュラス2演算の結果は、ループの反復ごとにbinaryNumber[]に格納されます。これは、次のコードスニペットを使用して示されています。
while (n > 0) { binaryNumber[i] = n % 2; n = n / 2; i++; }
この後、forループを使用して2進数が表示されます。これは次のように表示されます。
cout<<"Binary form of "<<num<<" is "; for (int j = i - 1; j >= 0; j--) cout << binaryNumber[j];
関数BinaryToDecimal()では、whileループを使用して2進数を10進数に変換します。 LastDigitには、一時変数の最後のビットが含まれています。ベースには、2、4、6、8などのベース値が含まれます。DecimalNumberには、前のDecimalNumber値の合計と、LastDigitとベースの積が含まれます。
これはすべて、次のコードスニペットを使用して示されています-
while (temp) { int lastDigit = temp % 10; temp = temp/10; decimalNumber += lastDigit*base; base = base*2; }
main()関数では、DecimalToBinary()関数とBinaryToDecimal()関数が呼び出されます。これは次のように表示されます。
DecimalToBinary(23); BinaryToDecimal(10101);
-
Pythonプログラムで10進数を2進数に変換する
この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 − 10進数が与えられているので、それに相当する2進数に変換する必要があります。 与えられた問題を解決するための2つのアプローチがあります。それらを1つずつ見てみましょう- 再帰的アプローチ 例 def DecimalToBinary(num): if num > 1: DecimalToBinary(num // 2) print(num % 2, end = '') # main if _
-
10進数を2進数に変換するPythonプログラム
この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 数値を指定すると、2進数に変換する必要があります。 アプローチ1-再帰的ソリューション DecToBin(num): if num > 1: DecToBin(num // 2) print num % 2 例 def DecimalToBinary(num): if num > 1: Decimal