C언어에서 숫자를 출력하는 것은 기본 중의 기본입니다. 그런데, 이번에는 좀 더 특별한 방식으로 숫자를 다뤄보려고 합니다. 바로 10진수, 8진수, 16진수로의 출력 변환입니다. 여러분은 아마도 이미 10진수로 숫자를 출력하는 방법을 알고 계실 겁니다. 하지만, 8진수와 16진수로의 변환도 필요한 순간이 올지 모릅니다. 그래서 이번 포스팅에서는 10진수, 8진수, 16진수 출력 방식을 모두 다뤄보려고 합니다.
목차
1. 10진수 (Decimal)
10진수는 일반적으로 우리가 일상에서 사용하는 숫자 체계입니다. 0부터 9까지의 숫자로 이루어져 있으며, 각 자리는 10의 거듭제곱으로 증가합니다. 예를 들어, 42라는 숫자는 4 * 10^1 + 2 * 10^0로 나타낼 수 있습니다.
거듭제곱은 어떤 수를 다른 수의 지수로 제곱하는 것을 의미합니다. 일반적으로 "a의 n제곱"은 a를 n번 곱한 값을 나타냅니다. 수학적으로 다음과 같이 표현됩니다.
a는 밑(base)이라 불리고, 거듭제곱을 계산할 시작 값입니다.
n은 지수(exponent)이라 불리며, 몇 번 곱할지를 나타냅니다.
간단한 예시로, 2의 3제곱은 다음과 같이 계산됩니다.
여기서 2는 밑이고 3은 지수입니다. 거듭제곱은 수학, 공학 프로그래밍 등 다양한 분야에서 사용되며, 다양한 계산과정에서 유용하게 활용됩니다.
1.1 C언어 10진수 출력
C언어에서 기본적인 10진수 출력 방법을 알아봅시다. 아래의 코드 예제를 통해 어떻게 작성하는지 알아봅시다.
#include <stdio.h>
int main() {
int number = 42;
printf("10진수: %d\n", number);
return 0;
}
10진수: 42
이렇게 하면 변수 'number'의 값인 42가 10진수로 출력됩니다. 간단하지만 기본 중의 기본입니다.
2. 8진수 (Octal)
8진수는 0부터 7까지의 숫자로 이루어진 숫자 체계입니다. 예를 들어, 42를 8진수로 나타내면 52가 됩니다.
2.1 C언어 8진수 출력
이번에는 8진수로 출력하는 방법을 알아보겠습니다. C언어에서 8진수를 나타내기 위해서는 %o 를 사용하면 됩니다.
#include <stdio.h>
int main() {
int number = 042;
printf("8진수: %o\n", number);
return 0;
}
8진수: 42
이제 'number'의 값인 42가 8진수로 출력됩니다.
3. 16진수 (Hexadecimal)
16진수는 0부터 9까지의 숫자와 A부터 F까지의 알파벳으로 이루어진 숫자 체계입니다. C언어에서 16진수를 나타낼 때에는 숫자 앞에 '0x'를 붙입니다. 예를 들어, 42를 16진수로 나타내면 0x2A가 됩니다.
3.1 C언어 16진수 출력
마지막으로 16진수로 출력하는 방법을 알아봅시다. 16진수는 '0x'를 붙여서 나타냅니다.
#include <stdio.h>
int main() {
int number = 0x2A; // 0x를 붙여 16진수로 표현
printf("16진수: %x\n", number);
return 0;
}
16진수: 2a
이제 'number'의 값인 42가 16진수로 출력됩니다.
관련포스팅
우리는 위에서 간단한 코드 예제를 통해 C언어에서 각 진법으로 숫자를 출력하는 방법을 알아보았습니다. 각 진법의 특징을 이해하면 프로그래밍에서 숫자를 더 유연하게 다룰 수 있습니다. 이러한 다양한 진법의 이해는 프로그래머에게 숫자를 효율적으로 표현하고 다룰 수 있는 능력을 부여합니다. 여러분들에게 도움이 되는 "부상남"이 되겠습니다.