プログラミング練習 二進数変換

今日からテストも終わったことなので、プログラミング(C言語)の練習を始めたいと思います。

毎日、簡単なやつでもいいから書いていこうと思います。{数学や英語の勉強を毎日した方が(ry}
今日は、情報処理の授業でもやった10進数→2進数変換プログラムです。
10進数から2進数に変換するには10進数の数を2でわり、そのあまりを逆から並べていくという方法があります。
これは配列をつかうことでうまく実現します。


#include<stdio.h>

int main(void)
{
int dec,bin[32],count=0,i,j;

for(i=0;i<32;i++)/*配列の初期化*/
{
bin[i]=0;
}

printf("整数を入力してください:");
scanf("%d",&dec);

while(dec)
{
bin[count]=dec%2;
dec/=2;
count++;
}

printf("二進数に変換するとn");
for(j=count;j>-1;j--)
{
printf("%d",bin[j]);
}
return 0;
}

反省点
・配列のサイズを4byte(32bit)分にしているのでそれを超える値を入れられると・・・・・・大変なことになる。
これは入力された後に

if(dec>2^32)
          {
              printf("入力された値は大きすぎます。");
              return 0;
          }

とかにすれば回避できるかもしれない。
広告
コメントを投稿するか、トラックバックを送信できます: トラックバック URL

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

w

%s と連携中

%d人のブロガーが「いいね」をつけました。