今日の人気記事

  1. サンプルプログラム集
  2. MinGW - gccのコンパイルと実行 - Windows環境
  3. LinuxでC言語 - コンパイラ(gcc)のインストール
  4. MinGW - gcc のインストール - Windows環境
  5. MinGW - gcc の環境設定(パスを通す) - Windows環境

10進数を2進数に変換

スポンサーリンク

10進数を2進数に変換するC言語のサンプルプログラムを紹介します。

2進数

2進数とは、「0」と「1」の数字を使って数値を表現する方法です。数え方は以下の表のように「1」の次はひとつ位が上がり「10」になります。

10進数2進数
00
11
210
311
4100
5101
6110
7111
81000
スポンサーリンク

サンプルプログラム①

配列を使って、入力した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進数に変換されます。

スポンサーリンク