2017.05.16
8進数の代入
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 |
変数に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 : 基数 戻り値 指定された基数での、文字列引数で表される整数
Javaソースコード
Octal.java
001 002 003 004 005 006 007 008 009 010 011 012 013 014 015
public class Octal { public static void main(String[] args) { // 8進数 「10」 int octal1 = 010; // 8進数 「10」 int octal2 = Integer.parseInt( "10", 8 ); // 8進数 「-10」 int octal3 = Integer.parseInt( "-10", 8 ); // 結果の表示 System.out.println( octal1 ); System.out.println( octal2 ); System.out.println( octal3 ); } }
コンパイル ソースコードが「ANSI」の場合
C:\talavax\javasample>javac -encoding sjis Octal.java
コンパイル ソースコードが「UTF-8」の場合
C:\talavax\javasample>javac Octal.java
実行
C:\talavax\javasample>java Octal
実行結果
8 8 -8
以上です。