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進数に変換されます。