1989年開業 情報工学部門 文部科学省登録番号 第22082号 公益社団法人日本技術士会会員 東大阪商工会議所会員

≫サンプルプログラム一覧 

オープンソース/C言語サンプルプログラム 2進数→10進数変換

●2進数を入力すると、10進数に変換し表示するプログラムです。
 ≫ソースファイルのダウンロード: binary031.c
【問題】
●for文を使って同じ結果が得られるプログラムを作ってみよう。
●算術式 n=n+1 や i=i+1 および n=n*2 を、インクリメント演算子 ++ や
  代入演算子 *= を使って書き換えてみよう。

/**************************/
/*  2進数→10進数変換  */
/**************************/
#include <stdio.h>
void  main( )
{
    char  c[128];
    int   i,n;

    printf("\n***2進数を10進数に変換します***");
    printf("\n2進数: "); fflush(stdout);
    gets(c);

    i=0; n=0;

    while ( 1 )                       // 無限に繰り返す
      {
        if ( c[i]=='1' ) n=n+1;       // 文字が1のとき1を加算

        i=i+1;                        // 次の文字へ
        if ( c[i]=='\0' ) break;      // 入力文字列の最後

        n=n*2;                        // 次の桁へ
      }

    printf("\n10進数=%d",n);
}
   

※SSL暗号化通信対応

佐伯英子技術士事務所 〒542-0073 大阪市中央区日本橋 1-14-13 サンオフィス日本橋601  E-mail: yfb22332@nifty.com