スポンサーサイト





上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

タグ :

   印刷ボタン       この記事に拍手する       このエントリーをはてなブックマークに追加

Return to page top

  • Comments (Close): -
  • TrackBack (Close): -

8進数と16進数





8進数とか16進数とかいうと非常にとっつきにくい人が多いと思いますが、Javaではこれらについても扱えることになっています。

あまり使わないと思うので急いでJavaをマスターしたい人は飛ばしてもいいと思いますが、やる気のある人は読んでください。


10進数と8進数・16進数の対応表



8進数は、0から7までの8つの数字で数を表現する方法です。Javaで8進数を扱うには、数字の先頭に0をつけます。

これに対して、16進数は、0から9までの数字とAからFまでの文字を使います。Javaで16進数を扱うには、数字の頭に0xをつけます。

10進数と8進数の対応表です。

10進数8進数16進数
00000x00
10010x01
20020x02
30030x03
40040x04
50050x05
60060x06
70070x07
80100x08
90110x09
100120x0A
110130x0B
120140x0C
130150x0D
140160x0E
150170x0F
160200x10
170210x11
180220x12
190230x13
200240x14


1桁の8進数の頭が「0」ではなく「00」なのは、桁をそろえるためです。別に「0」ひとつでかまいません。16進数も、0xの後ろに0をつけてもつけなくてもかまいません。


8進数・16進数を10進数に変換する



まず、8進数の23を10進数の19に変換してみましょう。

これは桁ごとに考えると分かりやすいです。8進数の10は10進数の8ですから、8進数の20は10進数の16です。8進数の3は10進数にとっても3です。したがって、8進数の23は、10進数の16+3=19となります。

同様に、8進数の237を10進数に変換するには、
  2×(8×8)+3×8+7=159
となります。

8進数をマスターしたら、16進数もやり方は同じです。

たとえば、16進数の3Fは、
  3×16+15=63
となります。

では、Javaで8進数・16進数を10進数に変換するプログラムを作ってみます。


class Sample
{
public static void main(String args[])
{
int n8=0011;
System.out.println("8進数の0011は、10進数では"+n8+"です。");

int n16=0x11;
System.out.println("16進数の0x11は、10進数では"+n16+"です。");
}
}


8進数の0011は、10進数では9です。
16進数の0x11は、10進数では17です。


と出力されれば成功です。

このほか、整数のint型を拡張した機能を持つラッパークラスというものを使う方法もあります。ラッパークラスはまだ習っていないですが、こんなもんかと流して読んでください。int型のラッパークラスはIntegerで、整数の進数を変換する場合はこのラッパークラスを利用します。

使い方は、

Integer.parseInt("文字列",数字);


です。

class Sample
{
public static void main(String args[])
{
int n8=Integer.parseInt("11",8);
System.out.println("8進数の0011は、10進数では"+n8+"です。");

int n16=Integer.parseInt("11",16);
System.out.println("16進数の0x11は、10進数では"+n16+"です。");
}
}


n8でいうと、"11"という文字列を8進数として解析した値を整数型のn8に格納します。n16のほうも、"11"という文字列を16進数として解析した値を整数型のn16に格納します。

続きはブロマガを購入して楽しもう!
このコンテンツはブロマガ(有料)です。
購入すると続きをお楽しみいただけます。
ブロマガって何?

タグ :

   印刷ボタン       この記事に拍手する       このエントリーをはてなブックマークに追加

Return to page top

  • Comments (Close): -
  • TrackBack (Close): -
  • 閉じるボタン
クラスライブラリ解説 目次
クラスライブラリとは
 ├ Java APIの調べ方
 ├ Objectクラスを調べる
 ├ ライブラリのインポート
 ├ 完全修飾クラス名を調べる
 ├ staticインポート
 ├ 外部ライブラリの利用

文字列を扱う
 ├ Stringとイミュータプル
 ├ StringBuilder 文字列の連結
 ├ toString()のオーバーライド
 ├ toXxCase() 大文字と小文字
 ├ compareTo() 値の比較
 ├ parseDouble() 文字を小数値に
 └ 文字列を抜き出す
 ├ char配列からString型へ変換
 ├ 空白文字の除去

日付を扱う
 ├ Calendar 現在の日付
 ├ Date 日付の表示

数値演算を扱う
 ├ round() 切上・切捨・四捨五入
 ├ BigDecimal
 ├ sqrt(),pow() 累乗と平方根
 ├ BigInteger
 ├ int型の最大値・最小値
 ├ random() 乱数作成

ファイルを扱う
 ├ ファイルの存在確認
 ├ ファイルを作成
 ├ ファイルの削除
 ├ ファイルサイズを調べる

入出力ストリーム
 ├ ファイルを読み込む
 ├ 画像ファイルのコピー
 ├ 日本語の読み込みと書き出し
 ├ バッファ入出力
 ├ データ型フリーの出力ストリーム
 ├ getBytes()メソッド

書式つき入出力
 ├ 書式を指定して出力
 ├ 引数インデックス
 ├ 整数値のフォーマット
 ├ 小数値のフォーマット
 ├ 九九の表のフォーマット

例外処理
 ├ printStackTrace()
 ├ NullPointerException
 └ NumberFormatException
月別アーカイブ
カテゴリ
リンク
QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。