C++ 프로그래밍/기초 문법

[C++ 기초 문법] char & bool

SW Developer 2024. 1. 23. 22:00

char & bool

- char : 작은 문자 자료형

char a = 'a';

 

- null 문자: 문자열의 끝에 사용한다.

'\0' //null문자: 문자열의 끝

 

 

"  " 은 char이 아닌, string 자료형에 사용

(string은 명시적으로 문자열의 끝에 null 문자 '\0'가 포함되어 있다)

 

- bool : boolean, 참과 거짓을 의미하는 데이터형

false true
0 1 (0 이외의 모든 값)

 

*참고

- ASCII코드: American Standard Code for Information Interchange의 약자로, 1960년대 미국에서 정의한 부호체계이다. 미국에서 처음으로 정의한 ASCII코드는 주로 영문 키보드에 활용되는 부호체계인데, 이 '부호체계'란 것에 대해 이해하기 위해선 먼저 문자나 기호들의 집합을 컴퓨터에 어떻게 저장되는지 알아야 한다. 컴퓨터의 기본 저장 단위는 바이트(byte), 1 byte = 8 bit 이다. 1byte에는 아래와 같이 2의 8승에 해당하는 256개의 고유한 값을 저장할 수 있다. 부호체계란 바로 이 256개의 저장소를 활용하여 문자나 기호들의 집합을 컴퓨터와 주고 받기 위해 만들어진 하나의 '약속'과도 같다고 할 수 있다.

1 1 0 1 0 0 1 0

 

ASCII코드는 7 bit, 2의 7승에 해당하는 128개의 고유한 값을 가지며 아래 그림과 같이 0 ~ 127에 해당하는 고유의 값을 갖고 있다. 추후 영어 외 다른 언어들을 표현하기 위해, 이 ASCII 코드에서 확장되어 2의 8승에 해당하는 256개의 고유한 값을 가지는 부호체계가 바로 ANSI 코드이다.

 

 

- 유니코드(UNICODE): 유니코드는 ASCII 코드, ANSI코드보다 용량이 훨씬 더 확장되어 2의 16승(65,536)의 저장소를 가진 부호체계이다. 이 유니코드는 추후 업그레이드를 거듭하여 결국 1024X1024 = 1,048,576개의 문자를 정의할 수 있게 되는데, 이 약 100만개의 저장소들을 아래와 같이 2의 16승(65,536)으로 나눈 17개 구역(plane)을 활용하여 여러 언어들에 대한 부호체계를 정의했다.

 

- UTF-8, UTF-16, UTF-32 : 특정한 문자 집합 안의 문자들을 컴퓨터 시스템에서 사용할 목적으로 일정한 범위 안의 정수(코드값)들로 변환하는 방법을 '문자열 인코딩(Chracter encoding)'이라 한다. 위의 유니코드 문자집합을 표현하기 위해 문자열을 인코딩한 것이 바로 UTF-8, UTF-16, UTF-32 이다. UTF-8, UTF-16, UTF-32 은 각각 8비트,16비트,32비트로 인코딩한 것을 의미한다. 이 중 가장 많이 사용되는 문자열 인코딩은 UTF-8이다.

 

 

※ 해당 게시글은 개인 학습의 목적으로, 아래 강의를 수강한 후 정리한 학습노트입니다.

https://inf.run/pypW