LoginSignup
2
0

More than 3 years have passed since last update.

Ruby ◯◯進数の扱いについて

Posted at

10進数から(n)進数へ変換

10進数.to_s(n)

255.to_s(2) => "11111111"
255.to_s(8) => "377"
255.to_s(16) => "ff"

(n)進数から10進数へ変換

"n進数".to_i(n)

"11111111".to_i(2) => 255
"377".to_i(8) => 255
"ff".to_i(16) => 255

8進数を10進数に => oct
16進数を10進数に => hex

8進数.oct
16進数.hex

"377".oct => 255
"ff".hex => 255

(n)進数の頭に付けて10進数に変換
0b => 2進数
0 => 8進数
0x => 16進数

0b2進数
08進数
0x16進数

0b11111111 => 255
0377 => 255
0xff => 255

計算方法

10進数  2進数
0        0
1        1
2        10
3        11
4        100
5        101
6        110
7        111
8        1000
9        1001
10       1010
11       1011
12       1100

2進数1100を10進数に

(1 * 2**3) + (1 * 2**2) + (0 * 2**1) + (0 * 2**0)

= 8 + 4 + 0 + 0

= 12

12を10進数に

12 / 2 = 6..0
6 / 2 = 3..0
3 / 2 = 1..1
1 / 2 = 0..1

余りを下から取って1100

8進数と16進数の計算方法は後日また記載します。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0