ゆるゆるプログラミング

・8進数の代入

8進法とは、0~7までの8個の数字を使って数を表すものです。一般的に使われている10進法は9の次に繰り上がるのに対して、8進法は7の次に繰り上がります。下の表に10進数と8進数の対応をまとめたので参考にしてください。8進数の"7"の次が"10"になっていることがわかります。

10進数 8進数
0 0
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 10
9 11
10 12

次に、Javaの整数変数に8進数を代入する記述の仕方を説明します。ここで説明する内容は、8進数の数の表現をそのままに変数に代入する方法です。

Javaでは、数字の先頭に"0"(半角のゼロ)を付けることで、8進数を表すことができます。Javaで、int a=010と記述するとaに8が代入されます。また、IntegerクラスのparseIntメソッドで8進数の整数を作ることができます。これは、8進数を表した文字列と、基数に8を与えると整数を得ることができます。

Integer.parseIntメソッド

public static int parseInt( String s, int radix )
■引数に指定された基数をもとにして、文字列の引数を符号付き整数として構文解析します。

  パラメータ s      : 文字列
        radix : 基数

  戻り値     指定された基数での、文字列引数で表される整数

以下が、8進数を表した値を整数型の変数に代入するJavaソースコードの例です。

Octal.java
001:    public class Octal {
002:    	public static void main(String[] args) {
003:    		// 8進数 「10」
004:    		int octal1 = 010;
005:    		// 8進数 「10」
006:    		int octal2 = Integer.parseInt( "10", 8 );
007:    		// 8進数 「-10」
008:    		int octal3 = Integer.parseInt( "-10", 8 );
009:    
010:    		// 結果の表示
011:    		System.out.println( octal1 );
012:    		System.out.println( octal2 );
013:    		System.out.println( octal3 );
014:    	}
015:    }

Octalの出力結果

8
8
-8

変数に代入された値を表示すると、8進数で与えた数が10進数になっていることがわかります。

■関連コンテンツ

変数について Javaで扱う変数について解説
2進数 2進数について
10進数→2進数変換 10進数→2進数変換について
16進数の代入 16進数の代入方法について

■新着情報

2017.11.17 N値化 カラー画像をN値化する方法について解説
2017.11.16 最も近い値の取得 指定値に最も近い配列の値を取得する方法を解説
2017.10.02 アルファ値(透過) アルファ値(透過)について

■広告

法人向けのETC専用カード

~約8,000名の受講生と80社以上の導入実績~ 企業向けプログラミング研修ならCodeCamp

日本最大級ショッピングサイト!お買い物なら楽天市場

Topへ