Java
- 16進表記は 0x で始める。8進表記は 0 で始める。2進表記はできない。※うろ覚えです
Integer.parseIntメソッド(後述)で基数を2とすれば変換できるそうです。
int val2 = Integer.parseInt("01111111", 2); //2進数「01111111」
int val8 = 0177; //8進数「177」
int val16 = 0x7f; //16進数「7f」
- 16進表記は大文字小文字両方可。
- プリミティブ型からプリミティブ型への変換は、()でキャストする。
double d = 0.5;
int i = (int)d;
- 整数→実数はキャストなしでも変換される。逆はコンパイルエラー。
int i;
double d;
d = i; // ok.
i = d; // エラー。キャストまたは小数点以下処理した後キャストする必要がある。
i = (int)Math.ceil(d); //ceilの返り値も実数
byte b = -1; //16進では 0xff
int i = b; //16進では 0xffffffff。0x000000ff にはならない。(正の256になってしまう)
int i = ((int)b) & 0xff; //byte を符号無しのデータとして扱った上で int に持っていきたい場合はこうする。
参照
最終更新:2013年06月13日 11:22