작성
·
395
0
int_least8_t = i8은 적어도 8비트를 가지고 있는 가장 작은 타입으로 i8이라는 변수를 선언을 해주신다고 하셨는데
그러면 최소한 8비트를 선언해준다는 소리가 맞나요??
만약에 맞다면
큰 메모리 공간을 사용해야하는 데이터가 있으면 16비트도 선언이 가능하고 32 비트 등등 이 사용가능하다는 건가요??
답변 1
0
int_least8_t는 그냥 signed char와 같다고 보면 됩니다
시스템에서 최소한의 8비트가 필요할 때 사용하는 자료형이라고 생각하시면 돼요
당연하게도 signed char 이상의 값을 할당하면 아래와 같이 오류가 발생합니다
아래는 1000을 할당한 예시입니다
minchul$ gcc test.c
test.c:6:22: warning: implicit conversion from 'int' to 'int_least8_t' (aka 'signed char') changes value from 1000 to -24 [-Wconstant-conversion]
int_least8_t i = 1000;
~ ^~~~
1 warning generated.
minchul$ ./a.out
-24%