프로그래밍/컴퓨터 기초

진법 변환( 16진수, 10진수, 8진수, 2진수 )

GONII 2015. 2. 13. 15:50

정의

16진수 : 한자리수에 16가지를 표현 가능 0 ~ F(15)

10진수 : 한 자리수에 10가지를 표현 가능 0 ~ 9

8진수 : 한 자리수에 8가지 표현 가능 0 ~ 7

2진수 : 한 자리수에 2가지를 표현 가능 0 ~ 1

변환

  • 10진수 123을 각 진수로 변환

       

  • 10진수 -> 2진수 변환

    나는 1,2,4,8,16,32...다 써놓고 해당 숫자보다 작은 자리부터 채워나감

10진수

512

256

128

64

32

16

8

4

2

1

2진수

0

0

0

1

1

1

1

0

1

1

123은 128보다 작으니까 0

123 - 64 = 59 이니까 64는 1로 채움

59 - 32 = 27 이니까 32도 1

27 - 16 = 11 이니까 16도 1

11 - 8 = 3 이니까 8도 1

3 - 4 = -1 음수가 나오니까 4는 0으로

3 - 2 = 1 이니까 2는 1

1 - 1 = 0 여기까지 1은 1

변환 완료

10진수 123 = 2진수로 1111011

   

  • 10진수 -> 8진수로 변환

    학교에서 어떻게 배웠더라...기억 안남

    일단 10진수를 2진수로 변환함

    그리고 2진수를 가지고 8진수로 변환하면 쉽게 됨

       

    8진수 1자리는 2진수 3자리로 표현 가능함

4

2

1

결과

0

0

0

0

0

0

1

1

0

1

0

2

0

1

1

3

1

0

0

4

1

0

1

5

1

1

0

6

1

1

1

7

8진수는 0 ~ 7 까지 표현 가능하다고 했는데 2진수 3자리면 0 ~ 7 까지 표현 가능함

그래서 2진수로 변환된 숫자를 3자리씩 끊어 1로 채워진 숫자만 더하면 진법 변환 완료

   

10진수를 2진수로 변환하고

10진수

512

256

128

64

32

16

8

4

2

1

2진수

0

0

0

1

1

1

1

0

1

1

2진수를 다시 8진수로 변환

8진수

1

4

2

1

4

2

1

4

2

1

2진수

0

0

0

1

1

1

1

0

1

1

 결과

  

1

7

3

10진수 123 = 8진수 173

   

  • 10진수 -> 16진수로 변환

    이것도 학교에서 어떻게 배웠는지 기억 안남

    근데 이것도 8진수 변환과 비슷함

    8진수의 한자리는 2진수 3자리였지만, 16진수의 한자리는 2진수 4자리로 표현 가능

8

4

2

1

결과

0

0

0

0

0

0

0

0

1

1

0

0

1

0

2

0

0

1

1

3

0

1

0

0

4

0

1

0

1

5

0

1

1

0

6

0

1

1

1

7

1

0

0

0

8

1

0

0

1

9

1

0

1

0

A(10)

1

0

1

1

B(11)

1

1

0

0

C(12)

1

1

0

1

D(13)

1

1

1

0

E(14)

1

1

1

1

F(15)

16진수는 10부터 알파벳 A ~ F까지를 사용함

   

2진수 변환 내용 생략

2진수를 다시 8진수로 변환

16진수

2

1

8

4

2

1

8

4

2

1

2진수

0

0

0

1

1

1

1

0

1

1

  

   

7

B

   

  • 2,8,16진수 -> 10진수로 변환

    8진수나 16진수는 2진수로 만듬

    1,2,3,4,16,32,64,128,256...

    2진수 변환한 것처럼 거꾸로 채워가면 됨

반응형