C で 2 進数を 10 進数に変換する方法

C De 2 Jin Shuwo 10 Jin Shuni Bian Huansuru Fang Fa



2 進数は 0 と 1 の組み合わせですが、10 進数は 10 進数です。 C プログラミングでは、2 進数を 10 進数に変換してコードのパフォーマンスを向上させ、学習者にとって理解しやすくします。

このガイドラインでは、C で 2 進数を 10 進数に変換する方法について説明します。

概念自体に入る前に、C の 2 進数と 10 進数とは何かを見てみましょう。







C の 2 進数と 10 進数の形式

2 進数は 0 と 1 の 2 つの数字の組み合わせで表される数で、2 進法と呼ばれます。一方、10 進数は、0 から 9 までの数字で構成される 10 進数です。



バイナリという名前でわかるように、2 を意味するため、0 と 1 の 2 つの数字の組み合わせの形式の数値がある場合、それらを 2 進数と呼びます。これは、基数 2 の数値システムと呼ばれます。



C で 2 進数を 10 進数に変換する理由

0 と 1 の組み合わせが多数考えられるため、開発者にとって 2 進数の操作は困難です。一方、10 進数は理解しやすく、処理しやすいため、C プログラムではより高速で効率的な方法になります。 C で 2 進数を 10 進数に変換するには、すべての 2 進数を適切な 2 の累乗で乗算し、その結果を加算します。これは、ループを使用して行われます。





C で 2 進数を 10 進数に変換する単純なアルゴリズム

以下は、6 つの簡単なステップを使用して C で 2 進数を 10 進数に変換する単純なアルゴリズムです。

  • ユーザーからの入力として 2 進数を受け取ります。
  • 変数「decimal」を 0 に、変数「base」を 1 に初期化します。
  • モジュラス演算子 (%) を使用して 2 進数の右端の桁を抽出し、この桁と基数の積を 10 進数変数に追加します。
  • ベース変数に 2 を掛けます。
  • 整数除算 (/) を使用して、2 進数から右端の桁を削除します。
  • すべての数字が処理されるまで、手順 3 ~ 5 を繰り返します。
  • 「decimal」変数に格納されている 2 進数の 10 進数値を表示します。

C で 2 進数を 10 進数に変換する

以下は、C プログラミングで 2 進数を 10 進数に変換する簡単なコードです。



#include

#include

整数 主要 ( ) {

長さ 長さ a ;

printf ( '2 進数を挿入してください:' ) ;

スキャン ( '%lld' & a ) ;

printf ( 「2 進数で %lld = 10 進数で %d」 a binaryToDecimal ( a ) ) ;

戻る 0 ; }

整数 binaryToDecimal ( 長さ 長さ a ) {

整数 12月 = 0 b = 0 r ;

その間 ( a != 0 ) {

r = a % 10 ;

a /= 10 ;

12月 += r * 捕虜 ( 2 b ) ;

++ b ;

}

戻る 12月 ;

}

上記のコードでは、名前としてグローバル関数が作成されます 「バイナリからデシマル」 .次に、メインで long long 変数を次のように宣言します。 「あ」 を呼び出して、2 進数を追加し、それを 10 進数に変換するようにユーザーに依頼します。 「バイナリからデシマル」 a」のパラメーターを持つ関数。の中に 「バイナリからデシマル」 関数定義 while ループによる 10 進変換。

出力

ビルトインも使える strtol() C プログラミングで 2 進数を 10 進数に変換する関数。

以下は、そのような関数のコードです。

#include

#include

整数 主要 ( ) {

チャー binary_string [ ] = 「1110」 ;

チャー * ポイント ;

長さ decimal_value ;

decimal_value = 墜落した ( binary_string & ポイント 2 ) ;

printf ( 「バイナリ文字列」 % s ' は 10 進値 %ld と同じです。 \n ' binary_string decimal_value ) ;

戻る 0 ;

}

上記のコードはバイナリ文字列を変換します 「1110」 を使用して、同等の 10 進数値に変換します。 strtol() この関数は、バイナリ文字列、char ポインターへのポインター、および数値システムの基数を引数として受け取ります。最後に、次を使用して結果をコンソールに出力します。 printf()。

出力

結論

私たちが知っているように、人間は管理が難しいため、2進数と比較して10進数に精通しています。 10 進数は 10 進数であるため算術演算を実行しやすく、2 進数に比べて処理が高速であるため、2 進数は 10 進数に変換されます。上記の概要では、ユーザー定義関数と組み込み関数を使用した C プログラムでの 2 進数の 10 進数への変換について説明しました。 strtol() 関数。