문자 (컴퓨팅): 두 판 사이의 차이

내용 삭제됨 내용 추가됨
잔글편집 요약 없음
잔글편집 요약 없음
4번째 줄:
 
[[C 언어|C]] 및 [[C++]] 프로그래밍 언어에서의 char는 8비트 정수형 처리 변수이다. C언어 정수형의 처리에서 부호가 있는 sign형과 부호가 없는 unsigned형으로 선언하여 사용할 수 있다. 부호가 있는 변수는 char 만으로 선언된 변수이고, 부호가 없는 경우는 unsigned과 결합하여 선언 한다. 부호가 있는 정수형은 2의 보수 체계를 사용하여 +와 -로 나누어 숫자를 표현할 수 있다. char는 8비트 변수 이므로 부호형 변수는 -128~127까지의 숫자를 취급할 수 있다. CPU가 해당변수를 처리할 때는 해당 변수의 메모리 위치의 숫자를 CPU의 레지스터로 가져와 [[ALU]]을 통해 계산 할 수도 있다. 계산 결과는 레지스터로 저장되고 다음 프로그램 코드에 따라 사용 된다. 모든 CPU는 8비트 단위의 처리가 가능하므로 CPU의 레지스터 및 ALU을 통해 한번의 계산에 의해 이루어 진다. 계산의 종류는 4칙연산 뿐아니라 논리연산, 비트 쉬프트 등 다양한 연산을 ALU을 통해 이루어 진다. 원래 char는 문자형 값을 처리하기 위한 변수 인데, character의 약자이다. 글자에서의 의미로 보면 [[ASCII]]의 문자형을 취급하여 계산하거나 처리 한다. ASCII 코드 값은 기본적으로 8비트 이므로 이것은 8비트 정수형의 부분집합일 뿐이다. 따라서 문자 만이 아니라 8비트 정수형 연산도 가능하다. 예를 들어 'A'를 'a'로 바꾸려면 정수형 연산으로 가능하다. 이때 역시 ALU을 통한 정수형 연산이 기계어 코드에 의해 계산 된다. 그러나 한글의 경우 16비트 이므로 char의 어래이 형이 필요하다. 따라서 한글은 char 변수만으로는 불가능하고 char 배열 형으로 선언해야 한다. 또한 char 변수는 문자 뿐만 아니라 8비트의 정수형 변수의 연산이 가능하므로 문자 뿐만 아니라 일반적인 데이터를 처리 할 수 있다. 예를 들어 온도를 저장하기 위한 변수를 생각할 때, -128도 부터 127도 까지 처리 한다면 char 변수를 사용할 수 있다.
 
# char 선언 예