Takuya71 のぶろぐ

外資系ソフトウェア会社で働いてます、認定スクラムマスター

10進数から 2進数、8進数、16進数に変換する。 とその逆

Ruby

2進数 8進数 16進数
to_s(2) to_s(8) to_s(16)
11.to_s(2)
=> "1011"

11.to_s(8)
=> "13"

11.to_s(16)
=> "b"

逆に n進数から 10進数の数字に変換するには to_i(n) を使う

'1011'.to_i(2)
 => 11

'13'.to_i(8)
 => 11

'b'.to_i(16)
 => 11

Scala

Scala の場合 Javaのものを使う。

2進数 8進数 16進数
toBinaryString toOctalString toHexString
scala> 11.toBinaryString
res0: String = 1011

scala> 11.toOctalString
res1: String = 13

scala> 11.toHexString
res2: String = b

逆に2進数の文字列から 10進数に変換

java のparseInt を使う。 Long の場合は java.lang.Long.parseLong

scala> java.lang.Integer.parseInt("1011",2)
res11: Int = 11

cala> java.lang.Integer.parseInt("13",8)
res12: Int = 11

scala> java.lang.Integer.parseInt("b",16)
res14: Int = 11

JavaScript

2進数 8進数 16進数
toString(2) toString(8) toString(16)