inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

홍정모의 따라하며 배우는 C언어

3.8 8진수와 16진수

16진수에 대한 설명

852

박정민

작성한 질문수 1

1

<3.8 8진수와 16진수>

강의에서 16진수에 대해 설명하시면서

unsigned int의 최댓값을 각각 10진수, 2진수, 8진수, 16진수로 나타내주셨습니다.

16진수의 표현에서 f가 8개인 이유는 16이 2의 4제곱이기 때문이라고 하셨는데 해당 설명의 메커니즘이 잘 이해가 되지 않아 질문드립니다.

수강 후 공부해본 결과, 2진수 1111이 16진수에서 f 하나에 해당하기 때문에, 해당 unsigned int의 최댓값인 2진수의 32비트는 나누기 4를 하여 16진수에서 8자리가 나타난다는 것은 이해를 하였습니다.

그러나 16이 2의 4제곱이라서 8개의 자리만 있으면 된다는 설명에 대해선 이해가 어려워 조금 더 구체적으로 알려주시면 감사하겠습니다.

c 16진수

답변 1

1

Soobak

안녕하세요, 답변 도우미 Soobak 입니다.

먼저, 각 진법의 변환에 대해서 요약하여 설명드린 후,
질문주신 " 1624 제곱이라서, 8개의 자리만 있으면 된다" 라는 내용에 대해서 설명드리도록 하겠습니다.

  • 16진수와 2진수의 관계
    : 16진수 1 자리수는 2진수 4 자리수로 표현될 수 있습니다.
    이유는 다음과 같습니다.
    16진수의 한 자리는 0 ~ F 을 통해 표현됩니다.
    이 때, 각 16진수의 1 자리 숫자를 2진수로 표현하면 다음과 같습니다.

    • 0 = 0000 (2진수)

    • 1 = 0001 (2진수)

    • 2 = 0010 (2진수)

    • ...

    • E = 1110 (2진수)

    • F = 1111 (2진수)

    즉, 16진수 한 자리를 모두 온전히 표현하기 위해서는 최소 2진수 4 자리(4비트)가 필요합니다.

 

  • unsigned int 의 최댓값 표현

    : 32 비트의 unsigned int 를 16진수로 표현하기 위해서는,
    말씀하신 것 처럼 324로 나눈 8 개의 자리수가 필요합니다.

    이 과정을 조금 더 자세히 살펴보면 다음과 같습니다.

    • unsigned int32 비트의 데이터를 저장할 수 있으므로, 이를 2진수로 나타내면 최댓값은 다음과 같습니다.
      : 11111111 11111111 11111111 11111111

      이를 16진수로 변환하는 과정을 조금 더 쉽게 바라보기 위해 4 비트 단위로 끊어서 표현해보면 다음과 같습니다.
      : 1111 1111 1111 1111 1111 1111 1111 1111

      이제, 이 각 4 비트 단위를 16진수로 변환하면,
      : F F F F F F F F 과 같이 표현됩니다.

       

즉, 이렇게 16 진수 1 자리가 2진수 4 자리로 표현될 수 있기 때문에,
32 비트의 2진수는 8 자리의 16진수로 표현될 수 있는 것입니다.

Export template 안됨

1

44

2

완전히 똑같이 따라해도 exe파일이 안만들어져서 실행이 안됩니다.

1

65

3

main 함수에서 왜 int만 선언이 되는걸까요

1

59

2

8비트 2진수 변환시 왜 1을 더해야하나요?

1

57

2

혹시 강의를 빠르게 수강하려면 어디서부터 듣는게 좋을까요?

1

55

1

프로토타입과 함수간의 인자 불일치

1

76

2

12.12 헤더 관련 질문

1

62

2

Visual Studio Community 2026 사용 문의

1

142

2

Q. 15:30, 부호가 있는 8비트 정수 질문

1

63

2

getchar(), putchar()

1

95

3

강의자리ㅛ

1

83

2

비주얼스튜디오코드로 공부해도 상관없나요?

1

118

2

소스파일안에 여러 파일

1

80

2

F5와 F7의 차이

1

81

2

c = TWO * (a+b); 에서 a와 b는?

1

62

2

; 세미콜론을 붙이는 기준에 문의

1

71

1

Step over 기능 문의

1

55

2

2.6 강의 따옴표 출력 규칙 문의

1

81

2

int main 함수 관련 오류 문의

1

70

2

13.4 words[0]

0

63

2

11.7 함수를 구현해 봤습니다.

1

64

2

11.6 직접 strcmp와 strncmp를 구현해 보았습니다.

1

66

2

11.6 my_strcat과 my_strncat을 구현해봤습니다.

1

55

2

11.6 fit_str함수를 구현해 봤습니다.

1

55

2