10進数を2進数に変換する
当ページのリンクには広告が含まれています。
スポンサーリンク
10進数を2進数に変換するC言語のサンプルプログラムを紹介します。
2進数
2進数とは、「0」と「1」の数字を使って数値を表現する方法です。数え方は以下の表のように「1」の次はひとつ位が上がり「10」になります。
10進数 | 2進数 |
---|---|
0 | 0 |
1 | 1 |
2 | 10 |
3 | 11 |
4 | 100 |
5 | 101 |
6 | 110 |
7 | 111 |
8 | 1000 |
… | … |
サンプルプログラム①
配列を使って、入力した10進数を2進数に変換するプログラムです。
/* * C言語のサンプルプログラム - Webkaru * - 10進数を2進数に変換 - */ #include <stdio.h> int main(void) { /* 変数の宣言 */ int decimal; int binary = 0; int base = 1; /* 10進数の入力 */ printf("10進数 = "); scanf("%d", &decimal); /* 10進数を2進数に変換 */ while(decimal>0){ binary = binary + ( decimal % 2 ) * base; decimal = decimal / 2; base = base * 10; } /* 変換した2進数の出力 */ printf(" 2進数 = %d\n", binary); return 0; }
いくつかの実行結果です。
10進数 = 10 2進数 = 1010
10進数 = 135 2進数 = 10000111
このように入力した10進数が2進数に変換されます。
サンプルプログラム②
入力した10進数を2進数に変換するプログラムです。変換した2進数を配列に格納します。
/* * C言語のサンプルプログラム - Webkaru * - 10進数を2進数に変換 - */ #include <stdio.h> int main(void) { /* 変数の宣言 */ int i, decimal; int binary[32]; /* 10進数の入力 */ printf("10進数 = "); scanf("%d", &decimal); /* 10進数→2進数の変換 */ for(i=0;decimal>0;i++){ binary[i] = decimal % 2; decimal = decimal / 2; } /* 2進数の出力 */ printf(" 2進数 = "); while( i>0 ){ printf("%d", binary[--i]); } printf("\n"); return 0; }
いくつかの実行結果です。
10進数 = 16 2進数 = 10000
10進数 = 123 2進数 = 1111011
このように入力した10進数が2進数に変換されます。