emoticon_15 음, 질문과는 무관하지만
답변을 해준분의 글이 더욱 많은 분들에게 도움이 되기 위해서는 질문자의 결과 발표(?)가 필요합니다.
답변한대로 했더니 어떻게 되었다던가, 이부분은 이런식으로 이해되었다던가 하는 피드백이 질문자가 갖추어야할 최소한의 소양 아닐까요.
그리고, 수고해서 답변해준 분에게 고맙다는 인사 한마디가 사람으로써 갖추어야할 최소한의 소양이라 생각됩니다.
2010.01.08 13:20:57 (*.99.132.14)
신의지문
위에분들이 잘설명해주셔서 그리 어렵지는 않을듯.
쉽게 생각하면 2진수를 기준으로볼때 8진수는 2진수 3개단위로 끊고 16진수는 4개단위로 끊으면 됍니다
숫자10을 2진수로 표현시 1010이니 001,010 이렇게 보면 1 2 그래서 8진수로표현하면 12죠
>> 10이라는 숫자를
>> 10진수로 보고 10진수로 변환시 10
>> 16진수로 보고 10진수로 변환시 16
>> 8진수로 보고 10진수로 변환시 8
이라고 질문하셨어야 합니다.
지적질은 여기서 마치고 설명을 해보자면..
8진수 10은 2진수로 00001000 따라서 8
10진수 10은 2진수로 00001010 따라서 10
16진수 10은 2진수로 00010000 따라서 16
인게 궁금하다는 말씀이죠. 1ststory님이 설명해 주신데로 입니다.
모두 2진법으로 표기해 놓으면 이해가 가는 문제입니다.
진법표현이 각 자리별 가중값을 가지는 점을 이해하면 쉽게 설명이 됩니다. 이게 무슨소리인고 하니, 코드체계중 weighted value code 라는
방식이 있습니다.
10진수는 각 자리별 가중치가 우측에서 좌측으로가며 10^자릿수를 가지는 코드체계입니다.
16진수는 각 자리별 가중치가 우측에서 좌측으로가며 16^자릿수를 가지는 코드체계입니다.
8진수는 각 자리별 가중치가 우측에서 좌측으로 가며 8^자릿수를 가지는 코드체계인거죠.
따라서 10진수 215라는 숫자는
2 * 10^2 + 1 * 10^1 + 5 * 10^0 으로 표현할 수 있으며, 이 값을 계산하면 당연하지만 "215"라는 값이 나옵니다.
16진수 215라는 숫자는 얘기가 좀 다릅니다.
2 * 16^2 + 1 * 16^1 + 5 * 16^0 으로 표현이 되며, 이 값을 계산하면 "533" 이 됩니다.
마찬가지로 8진수 215라는 숫자는 -- 아 참고로 10진수 외의 다른 진수체계에서는 215를 "이백 십 오" 라고 읽지 않습니다. 그냥 "이 일 오" 입니다. --
2 * 8^2 + 1 * 8^1 + 5 * 8^0 으로 표현이 되어, 값은 "141"이 됩니다.
이상 설명한 내용은 따지고보면 기수표기법이라는 수의 표기법에 대한 이야기이고,
다시 정리하면 2진수는 기수가(가중치가) 2인 표기법, 8진수는 기수가 8인 표기법, 16진수는 기수가 16인 표기법, 그리고 우리가 매일 쓰는 10진수는
기수가 10인 표기법이 되겠습니다.
기수표기법에서는 기수를 넘어서는 -- 8진법에서 8, 10진법에서 10 -- 숫자는 자리올림이 일어나는건 알고 계시겠죠?
16진수로 변환하면 A
8진수로 변환하면 12 가 맞는듯한데요..;;