今日の人気記事

  1. エスケープシーケンス - 特殊文字
  2. printf関数の変換指定子
  3. 1から1000までの素数を表示する

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

サンプルプログラム の人気記事

  1. 配列に格納した数値を昇順ソートする
  2. 入力した自然数が素数かどうかを判定する
  3. 入力した整数が偶数か奇数かを判別する
  4. サンプルプログラム集
  5. 10進数を2進数に変換する
  6. 入力した行列の積(掛け算)を計算する
  7. 2進数を10進数に変換する
  8. 入力した数値の桁数を表示する
  9. 三角形の面積を計算する
  10. 配列に格納した数値を降順ソートする

関連記事(一部広告含む)