• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

2.3 고정 너비 정수

23.05.13 19:22 작성 조회수 224

1

이 수업에서 몇 가지 질문들이 있습니다ㅠ

  1.  

int8_t은 아마 platform에서 8bit(1byte)짜리 data type으로 바꿔주는 기능으로 예상됩니다.

그런데 여기에 커서를 갖다대면, typedef signed char int8_t 으로 나옵니다...

여기서 헷갈리는 이유가 나머니 int16_t은 integer이였지만 이건 char이기 때문입니다.

이것이 char인 이유는 단순히 사이즈가 1바이트 때문인가요?

 

  1. 2분 55초 쯤부터 선생님께서 int_fast8_t은 integer 중에서 8bit(1바이트) 사이즈 중에 처리하는 속도가 가장 빠른 data type이라고 하셨습니다.

그런데 int_fast8_t에 커서를 갖다대면 signed char라고 뜹니다... 선생님께서 "integer 중에서"라고 하셨는데 잘못 말씀하신 건가요? character 중에서 가장 빠른 data type이라는 뜻인가요?

 

  1. char에는 signed와 unsigned 둘 다 있는데 int8_t와 int_fast8_t 둘 다 signed char로 뜹니다...혹시 무조건 고정 너비 정수들에는 무조건 signed char만 있는 건가요?

답변 1

답변을 작성해보세요.

1

Soobak님의 프로필

Soobak

2023.05.14

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

질문 1)
: 단순히 1바이트이기 때문만은 아닙니다. 강의 2.2 정수형 (Integers) 에서 학습하신 내용처럼, char 자료형은 문자를 표현하는데 사용되지만, 내부적으로 ASCII 표와 일치하는 '숫자' 로 처리되기 때문입니다.

질문 2)
: 질문 1에서 답변 드린 내용처럼, char 자료형은 내부적으로 1바이트 크기의 정수형 데이터로 다뤄집니다. 따라서 정수형 자료형 중 가장 빠른 자료형이 맞습니다. 강의 2.2 정수형 (Integers) 1:00 부분 표와 설명을 참고하시면 좋을 것 같습니다.

질문 3)
:
고정 너비 정수 자료형의 도입 목표가 다양한 플랫폼과 컴파일러간의 호환성을 위함이므로, 학습하시는 환경에 따라 다르게 정의된다고 말씀드리는 것이 옳은 것 같습니다. 무조건 특정 자료형으로 정의되는 것이 아닙니다.

고정 너비 정수 자료형의 정의 및 내용과 관련된 참고 문서의 링크를 첨부 드립니다.
Fixed width integer types(링크)