내일배움캠프 2일차 - C++ 서식지정자, 자료형, ASCII, 유니코드
서식 지정자의 종류
%d: decimal의 약자. 10진수로 대체됩니다.
%o: octal의 약자. 8진수로 대체됩니다. ex) 9(10) <-> 11(8)
%x: hexadecimal의 약자. x는 소문자, X는 대문자로 대체됩니다. ex) 17(10) <-> 11(16)
%u: unsigned의 약자. 양수로 대체됩니다.
%c: character의 약자. 문자로 대체됩니다.
%s: string의 약자. 문자열로 대체됩니다.
%f: floating point의 약자. single precision.
%lf: double precision floating point.
서식 지정자는 왜 필요할까요?
3245라는 숫자를 문자열에 편입시키기 위해서 printf(“Result: %d”, 3245)라고 적을 수 있습니다. 또한 서식 지정자를 활용하면 계산 결과도 얻어 낼 수 있습니다.
3245 * 2342의 계산 결과를 화면에 출력시키기 위해 printf(”Result: %d”, 3245 * 2342)라고도 적을 수 있습니다.
즉, 복잡한 수식을 빠른 시간안에 계산하고 그 결과를 원하는 형식으로 보기 위함입니다. 복잡한 소스코드를 작성할 때 디버깅 용도로 요긴하게 사용되기도 합니다.
자료형(Type)
저장될 데이터의 크기와 해석 방법에 대한 정보.
| 자료형 | 크기 == 표현 가능한 수 | 서식 지정자 |
| char | 1 byte. -(2^7) ~ (2^7) - 1 [-128 ~ 127] | %c or %hhd |
| short int | 2 byte. -(2^15) ~ (2^15) - 1 [-32768 ~ 32767] | %hd |
| int [기본 정수 자료형] | 4 byte. -(2^31) ~ (2^31) - 1 [-2147483648 ~ 2147483647] | %d or %i |
| long | 4 byte or 8 byte. | %ld |
| long long | 8 byte. -(2^63) ~ (2^63) - 1 | %lld |
| float | 4 byte. 유효 자리수 6~7자리. [부호: 1bit, 지수: 8bit, 가수: 23bit] | %f |
| double [기본 실수 자료형] | 8 byte. 유효 자리수 15~16자리. [부호: 1bit, 지수: 11bit, 가수: 52bit] | %lf |
| long double | 8 byte 이상. | %Lf |
오버플로우(Overflow)
자료형이 표현 가능한 수를 넘어서는 경우.
그릇에 물을 너무 많이 따르면 넘쳐 흐르는 것과 같습니다.
N은 각 자료형의 크기. char는 8, int는 32를 대입.
ASCII(American Standarded Code for Information Interchange)
문자 형태의 데이터와 숫자 형태의 데이터 사이의 인코딩 규약 중 하나.
여러 인코딩 규약이 있으나, 그 중 가장 쉽고 대표적인 규약.
규칙 표는 [여기]를 참고하시면 됩니다.
어쨋든 컴퓨터에 값이 저장되기 위해서는 숫자 형태여야 한다는 점을 기억합시다.
유니코드
- 과거에는 ASCII, EUC-KR 등등 각 나라마다 다른 문자 인코딩들이 존재.
- 이는 서로 호환되지 않아 다국어 지원에 문제가 생겼습니다.
- 전세계 모든 문자를 표현 및 처리하기 위해 만들어진 문자 인코딩이 유니코드(Unicode)
- 유니코드에는 UTF-8, UTF-16, UTF-32가 있음.
- 유니코드에는 UTF-8, UTF-16, UTF-32가 있음.
댓글
댓글 쓰기