C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#で10進数を8進数に変換するプログラムの書き方

この記事では、C#を使って10進数を8進数に変換する方法を解説します。8進数は基数が8の記数法であり、10進数の値を8で割った余りを順に並べることで変換できます。

変換の手順

まず、変換対象となる10進数を設定します。

int decVal = 40;

次に、この値を別の変数に格納します。8進数は基数が8であるため、商が0になるまで「8で割った余り」を求め続けることで、下の桁から順に各桁の値を取得できます。これをwhileループで実装すると、次のようになります。

while (quot != 0) {
    octalVal[i++] = quot % 8;
    quot = quot / 8;
}

サンプルコード

以下のコードを実行して、10進数から8進数への変換を試してみてください。

using System;
class Demo {
    public static void Main() {
        int decVal, quot, i = 1, j;
        int[] octalVal = new int[80];
        decVal = 40;
        quot = decVal;
        Console.WriteLine("Decimal Number:{0}", decVal);
        while (quot != 0) {
            octalVal[i++] = quot % 8;
            quot = quot / 8;
        }
        Console.Write("Octal Number: ");
        for (j = i - 1; j > 0; j--)
            Console.Write(octalVal[j]);
        Console.Read();
    }
}

実行結果

Decimal Number:40
Octal Number: 50

この例では、10進数の「40」が8進数の「50」に変換されました。計算の流れを確認すると、40 ÷ 8 = 5 余り 0、5 ÷ 8 = 0 余り 5 となり、余りを逆順に並べることで「50」が得られます。この手法は任意の基数への変換にも応用できるため、2進数や16進数への変換プログラムを書く際にも役立ちます。

  1. Pythonで10進数を2進数に変換する方法|再帰処理とbin()関数の実装例

    この記事では、「10進数を2進数に変換する」という問題に対する解決策を、具体的なコード例とともにわかりやすく解説します。 問題の概要 問題: 与えられた10進数の整数を、それに対応する2進数表現へ変換する。 この問題を解くには、大きく分けて2つのアプローチがあります。順番に見ていきましょう。 方法1:再帰を使った実装 10進数を2進数に変換する基本的な考え方は、「数値を2で割り続け、その余りを記録する」ことです。再帰関数を使うと、除算を繰り返しながら余りを自動的に上位の桁から順に出力できます。 サンプルコード def DecimalToBinary(num): if num &g

  2. Pythonで10進数を2進数に変換する方法|再帰と組み込み関数の2つのアプローチ

    この記事では、10進数で表された数値を2進数に変換するPythonプログラムについて、その考え方と具体的な実装方法をわかりやすく解説します。 問題文 ある整数が与えられたとき、その数値を2進数に変換します。例えば、10進数の「35」は2進数では「100011」と表現されます。 アプローチ1:再帰を使った解法 再帰処理を利用すると、シンプルなコードで10進数を2進数に変換できます。基本的な流れは以下の擬似コードのとおりです。 DecToBin(num):     if num > 1:      &n