ゆるゆるプログラミング

・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進数の代入方法について

■新着情報

2020.05.07 サイコロの出目確率 サイコロの目のでる確率は?
2020.04.22 現在日時をミリ秒で取得 現在日時をミリ秒数で取得
2020.04.22 日時 日時の操作について
2020.04.22 時間の単位変換 1日、1時間は何ミリ秒?

■広告

法人向けのETC専用カード

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

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

Topへ