본문 바로가기
CS

진법 변환을 알아보자

안녕하세요.

야생에서 등장한 하프입니다! 🌟

 

기초중에 기초인 진법 변환에 대해서 알아보겠습니다!

핵심만 딱!! 알려드리겠숩니다

 

이거 하나만 기억하고 갑시다.

8진수는 3개씩

16진수는 4개씩

 

꼭!

 

 

 

📝 목차

 


10진수

10진수 to 2진수

 

10진수에서 2진수로 변경하기 위해서는 2로 계속 나누면 됩니다.

2로 나눈 후 나머지 값들만 찾아서 작성해주시면 됩니다!

 

예시는 125를 통해 해보도록 하겠습니다.

 

 

125을 2로 나눈 후 몫은 62 나머지는 1

62을 2로 나눈 후 몫은 31 나머지는 0

31을 2로 나눈 후 몫은 15 나머지는 1

15을 2로 나눈 후 몫은 15 나머지는 1

7을 2로 나눈 후 몫은 3 나머지는 1

3을 2로 나눈 후 몫은 1 나머지는 1

1을 2로 나눈 후 몫은 0 나머지는 1

 

몫이 0일 때 끝나는것으로 알고 있으면 됩니다!

정리를 해보면 01111101(2) 이 되겠네요 😊

 

 

10진수 to 8진수

10진수에서 8진수로 변환하는 것은 그리 어렵지 않습니다!

위에서 진행하였던 방법에서 2대신 8로 나누면 되겠습니다

 

어렵지 않죠!?

보통 앞에 0이 오는경우는 생략을 하는것 이지만! 

헷갈리지 않기 위해 작성해두록 하겠습니다.

 

 

10진수 to 16진수

10진수에서 16진수로 변환하는것도 마찬가지겠지요!

 

어 근데 좀 이상한거 같아요

7과 13이 나왔는데 이거를 붙여쓰면 713(16)이 되어야 하나? 싶을 겁니다.

하지만 713(16)은 10진수로 1811(10) 입니다. 🫠

 

16진수의 경우 10을 넘어가는 경우는 표기가 어려우니, 10~15까지의 숫자는 기호로 표기하게 됩니다.

10진수 16진수
10 A
11 B
12 C
13 D
14 E
15 F

 

 

그러면 7과 13이니, 7D가 되겠네요!

 

결과적으로는 7D가 되겠습니다.

 

 

제가 잘 풀었는지 정답도 확인해 볼까요?!

 

다 맞았네요! 😊


8진수

8진수 to 2진수

8진수에서 2진수로 변환하는 방법은 위에서 진행한 것과는 살짝!! 다릅니다

8진수의 경우는 한자리씩 끊어서 계산합니다

 

만약 175(8)이 있다면

1을 2진수로

7을 2진수로

5를 2진수로 하면 됩니다.

 

2진수로 변경하되, 위에서 언급하였던대로 8진수는 3개씩!! 묶는다는 점 기억하시길 바랍니다!

 

왜 3개씩 묶는가!! 하면 8진수의 최댓값은 7이며

0~7은 3개의 bit로 표현이 될 수 있기 때문에 3개로 묶는 것 입니다!

 

나온 175(8)을 2진수로 변경된 값은

001111101(2) 이 되겠네요

 

위에서 나온값이랑 똑같죠? ㅎㅎ 😊

 

 

 

8진수 to 10진수

8진수에서 10진수로 변경이 되려면, 각각의 자리수의 가중치를 더하면 됩니다.

이게 무슨말이냐 하면

오른쪽에서부터 8의 0제곱부터 시작하여 왼쪽으로 점점 제곱수가 증가합니다.

 

 

예시를 보고 다른 숫자들도 도전해보시면 좋을 것 같습니다 🫠

 

 

 

8진수 to 16진수

8진수에서 16진수로 변경이 되려면!! 이건 좀 복잡합니다.

아니 안복잡한가?  🤔

 

그냥 과정이 한 단계 더 있다고 보시면 됩니다.

 

1. 8진수를 2진수로 변환한다.

우선 8진수를 2진수로 변환을 해봅시다.

위에서 이미 한번 계산했으니, 계산 과정은 생략 하겠습니다

 

175(8) 를 2진수로 하면 001111101(2)

 

 

2. 변환된 2진수를 4개씩 묶는다.

001111101(2)를 오른쪽부터 4개씩 묶습니다.

오른쪽부터 4개씩 묶고 남은 칸은 0으로 채워 줍니다.

 

 

그리고 묶음마다 10진수로 변경해봅시다!

그러면 [0,  7,  13] 이 나오게 되겠지요!

13은 D로 표현이 되니, 07D(16) 으로 표기하면 되겠습니다.

 

10진수 16진수
10 A
11 B
12 C
13 D
14 E
15 F

 

 


16진수

이번엔 125를 하도 우려먹었더니 좀 그러네요 ㅋㅋ..

다른 숫자로 해봅시다. 

이번에는 조금 크게 529(16)으로 해볼게요

 

 

16진수 to 2진수

16진수를 2진수로 변환해볼까요?

이 작업은 8진수에서 2진수로 변환하는 작업과 매우매우 유사합니다.

 

0~15까지의 숫자는 4개의 bit로 표현이 가능 하니, 4개씩 표현하면 됩니다.

거두절미하고 그럼 바로 해보겠습니다.

 

 

8진수는 3개씩, 16진수로 4개씩 표현된다는거 말고는 큰 차이가 없지요!?

정말 쉽습니다 😊

 

 

 

16진수 to 8진수

16진수를 8진수로 변경하는건 8진수에서 16진수로 했던 과정과 거의 똑같습니다.

과정을 나열해볼게요!

 

1. 16진수를 2진수로 변환한다.

우선 16진수를 2진수로 변환을 해봅시다.

위에서 이미 한번 계산했으니, 계산 과정은 생략 하겠습니다

529(16) 를 2진수로 하면 010100101001(2)

 

 

2. 변환된 2진수를 3개씩 묶는다.

010100101001(2)를 오른쪽부터 3개씩 묶습니다.

오른쪽부터 3개씩 묶고 남은 칸은 0으로 채워 줍니다.

 

그리고 묶음마다 10진수로 변경해봅시다!

 

그러면 2451(8)이 됩니다~!

 

 

 

16진수를 10진수로

이제 진짜 마지막

이것만 남았어요!!

 

16진수에서 10진수로 변경하기 위해서는 8진수에서 10진수로 했던 과정과 같습니다.

대신 16의 제곱으로 한다는 점만 달라요!

 

529(16)을 10진수로 변경해봅시다!

 

 

16의 2승만 해도 256인데 4승 부터는 계산하기 귀찮을 거 같네요 🥹

대학교 다닐때 교수님들이 맨날.. 귀찮은 문제 문제 주셔서 이게 맞나...? 싶기도 했읍죠

 


 

 

자아! 이로써.. 진법 변환 과정을 마쳤습니다.

어떠셨나요?!

 

아 그럼 이제 진법 변환 끝인가???!!! 할 수 있지만

소수 변환이 남아 있답니다. 하하! 🤣

 

 

그럼 여기까지하고 물러가도록 하겄습네다!

'CS' 카테고리의 다른 글

자바스크립트 동작 원리  (2) 2024.03.17
브라우저의 동작 과정을 알아보자!  (0) 2024.02.25