今日の人気記事

  1. 変数名の付け方 - 命名規則
  2. scanf関数 - 数値の入力
  3. while文 - 繰り返し処理
  4. 配列の要素を出力(表示)する

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つの数値を交換する
  2. 配列に格納した数値を昇順ソートする
  3. 配列の数値の平均値を計算する
  4. 入力した文字列の文字数を表示する(出力)
  5. サンプルプログラム集
  6. 入力した自然数を逆順に並べ替える
  7. 入力した自然数が素数かどうかを判定する
  8. 乱数 - 1〜10のランダムな数値を出力する
  9. 入力した整数が偶数か奇数かを判別する
  10. 乱数 - 0〜1のランダムな数値を出力

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