코딩

2진수 8진수 16진수 10진수 변환

비니화이팅 2016. 12. 26. 13:36

2진수(binary)

- 0~1을 나타낼 수 있음

- 가장 큰 수 1의 값은 : 1

- 따라서 2진수는 1개의 비트만 있으면 모두 표현 가능

 

 

8진수(octal)

- 0~7을 나타낼 수 있음

- 가장 큰 수 7의 이진수 값은 : 111

- 따라서 8진수는 3개의 비트만 있으면 모두 표현 가능



10진수(decimal)

- 우리가 실생활에서 쓰는 수



16진수(hexadecimal)

- 0~15를 나타낼 수 있음

- 가장 큰 수 15의 이진수 값은 : 1111

- 따라서 16진수는 4개의 비트만 있으면 모두 표현 가능


10진수 

2진수 

8진수 

16진수 

 0000

0

0

1

 0001

2

 0010

 0011

 0100

 0101

 0110

 0111

 1000

10 

8

 1001

11 

10 

 1010

12 

A

11 

 1011

13 

B

12 

 1100

14 

13 

 1101

15 

14 

 1110

16 

15

 1111

17

16

 10000

20

10



2진수 <-> 8진수

: 뒤에서 부터 3자리 씩 잘라서 계산

  앞쪽 부분이 모자르면 0으로 채움


  ex)10010101(2)

      010  010  101

        2     2     5 

      => 따라서 225(8)이 됨   


  

2진수 <-> 16진수

: 뒤에서 부터 4자리 씩 잘라서 계산

  앞쪽 부분이 모자르면 0으로 채움


ex)10100101(2)

    1010  0101

      10     5    

     => 따라서 A5(16)



2진수 -> 10진수

ex)1011(2)

    1*2^3 + 0*2^2 + 1*2^1 + 1*2^0 = 8 + 2 + 1 = 11(10)


10진수 -> 2진수

ex) 11(10)

- 화살표 순서대로 해서 답은 1011(2)



8진수 <-> 10진수

ex) 17(8)

    1*8^1 + 7*8^0 = 8 + 7 = 15(10)


10진수 -> 8진수

ex) 15(10)

- 화살표 순서대로 해서 답은 17(8)




16진수 <-> 10진수

ex) 93(16)

    9*16^1 + 3*16^0 = 144 + 3 = 147(10)


10진수 -> 16진수

ex) 147(10)

-> 화살표 순서대로 해서 답은 93(16)