C언어 강의 10강 - 2진수와 8진수 16진수 사이의 진법변환
8강과 9강을 통해서 10진수 <-> 2진수,8진수,16진수 사이의 진법변환에 대해서 숙지하셨을껍니다.
10진수 -> 2,8,16진수로 바꿀때에는 해당하는 2,8,16로 몫을 나눠주고 나머지를 아래에서 위 방향으로 써주면 되었구요.
2,8,16진수를 10진수로 바꿀때에는 각각 자리에 맞게 2,8,16의 제곱을 곱해준 후 모두 더해주면 10진수가 되었습니다.
솔직히 이정도만 알아둬도 진법 변환을 하는데에는 전혀 지장이 없지만
이런 의문을 품으신 분들이 있을꺼에요.
그럼 2진수를 바로 8진수,16진수로 바꾸거나
8진수,16진수를 2진수로 바꿀수는 없나요?
물론 방법이 있습니다.
이번 강의에서는 그 방법에 대해서 알려드리도록 하겠습니다.
이 방법은 생각보다 굉장히 간단하여서 보시는 분들이 한번에 이해하실 수 있을꺼에요.
바로 예시를 통해 설명해 드리도록 할께요.
2진수 10110010111011이라는 숫자가 있다고 해볼께요.
그럼 이런 숫자를 어떻게 8진수 ,16진수로 바꿀수 있을까요?
방법은 굉장히 간단해요
8진수는 이 숫자들은 3자리로 묶어주면 되고 16진수는 4자리로 묶어주면 됩니다.
무슨말인지는 보여드리도록 할께요.
먼저 2진수를 8진수로 바꿔줄때
2진수 10110010111011(2)
↓ 3자리로 끊어줍니다.(오른쪽에서부터 3자리씩 끊어줍니다.)
10 110 010 111 011
↓ 끊어준 3자리를 10진수로 각각 변환해줍니다.
2 6 2 7 3
그럼 26273(8)
이 나오게 되고 이게 끝입니다.
16진수로 바꿀때도 똑같습니다.
2진수 10110010111011(2)
↓ 4자리로 끊어줍니다.(오른쪽에서부터 4자리씩 끊어줍니다.)
10 1100 1011 1011
↓ 끊어준 4자리를 10진수로 각각 변환해줍니다.
2 C B B
2CBB(16)
이해가 되셨나요?
굉장히 간단해요
그냥 2진수를 8진수로 바꿀꺼면 오른쪽부터 3자리씩 끊은 후에 10진수로 변환해주면 그게 8진수가 되는거구요.
16진수로 바꿀꺼면 4자리씩 끊고 10진수로 각각 변환해주면 그게 16진수가 됩니다.
주의하실점은 반드시 오른쪽부터 끊어주셔야 한다는 점입니다.
이해가 쉽게 되셨을꺼라고 생각합니다.
궁금하신 사항은 댓글 통해서 남겨주시면 확인후 답변드릴께요.
'IT > C언어 강의 (중단)' 카테고리의 다른 글
C언어 강의 12강 - 8진수와 16진수의 서식문자와 변수 (6) | 2018.02.20 |
---|---|
C언어 강의 11강 - 소숫점의 진법변환 (3) | 2018.02.15 |
C언어 강의 9강 - 8진수와 16진수의 진법변환 (1) | 2018.02.15 |
C언어 강의 8강 - 2진수와 10진수의 진법변환 (9) | 2017.12.03 |
C언어 강의 7강 - 주석이란 무엇인가? (5) | 2017.12.01 |