スポンサーサイト

--年--月--日 --:--

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

2進数から10進数に変換するプログラム

2008年11月25日 22:11

2進数から10進数に変換するプログラムを作ってみた。
ラインセンサーをswitch-case文で書きたいときに便利。


#include

using namespace std;

#define max 40
#define maxp 41

long a,b,c;
long d[maxp];
int e,f;

int main(){
start:

for(;;){
//初期化
a=0;
b=0;
c=0;
e=0;
f=1;
for(int i=0;i<=max;i++) d[i]=0;
//入力
cout << " 2進数:";
cin >> a;

for(int i=1;i<=max;i++){
d[i]=a%10;
a=a/10;
if(a==0){
e=i;
break;
}
}

//0か1以外ならコンティニュー
for(int i=1;i<=max;i++){
if(d[i]!=0 && d[i]!=1){
cout << "0か1を入力してください。\n";
goto start;
}
}

//計算
for(int i=1;i<=e;i++){
f=1;
for(int j=1;j<=(i-1);j++)f=f*2;
b=b+(d[i]*f);
}
//表示
cout << "10進数:";
cout << b << "\n\n";
}
}


明日は16進数に変換するようにするか・・・
いずれは36進数まで対応させる予定。
GUIで。
スポンサーサイト


コメント

    コメントの投稿

    (コメント編集・削除に必要)
    (管理者にだけ表示を許可する)

    トラックバック

    この記事のトラックバックURL
    http://kaede0501.blog101.fc2.com/tb.php/222-f96b7701
    この記事へのトラックバック



    上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。