더북(TheBook)

정수 타입을 unsigned로 선언하면 음수 값을 갖지는 않지만 양수 값을 표현할 수 있는 범위가 2배로 넓어진다(0을 +0과 - 0으로 구분하지 않는다면 표현 범위가 1만큼 더 넓어진다). signedunsignedshort, int 등의 명사를 위한 형용사로 간주될 수 있다. 이때 형용사만 선언되었을 경우 기본 명사는 int다.

char 타입은 문자와 좁은 범위의 숫자, 두 가지 방식으로 사용할 수 있다. char는 정말 특이한 아키텍처를 제외하면 거의 항상 8비트의 길이를 갖는다. 따라서 우리는 -128~127(signed)이나 0~255(unsigned) 범위의 값을 나타낼 수 있고 정수에 사용할 수 있는 모든 수치 연산을 수행할 수 있다. signedunsigned 모두 선언하지 않을 때, 어떤 버전을 사용할 것인지는 컴파일러의 구현에 따라 다르다. 또한, 8비트에 맞는 코드를 갖는 모든 문자를 나타낼 수도 있다. 심지어 혼합할 수도 있는데, 예를 들어 ‘a’ + 7‘h’다. 이는 문자의 기본 코드에 따라 달라진다. 잠재적인 혼란은 명백한 시간 낭비로 이어질 수 있으므로 문자와 숫자를 혼합하지 않을 것을 강력히 권한다. 그러나 작은 숫자를 charunsigned char에 저장하면 크기가 큰 컨테이너에 저장할 때 유용할 수 있다.

논리값은 bool 타입으로 표시하면 좋다. bool 타입의 변수는 truefalse로 저장할 수 있다.

줄어들지 않는 범위 속성은 부동소수점에도 동일하게 적용된다. floatdouble보다 좁거나 같고, doublelong double보다 좁거나 같다. 일반적인 크기는 float 32비트, double 64비트, long double 80비트다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.