Language 컴퓨터와 인간의 대화[3]-char

황제낙엽 2016.04.22 09:30 조회 수 : 117

sitelink1 https://ko.wikipedia.org/wiki/Char 
sitelink2  
sitelink3  
sitelink4  
sitelink5  
extra_vars6  

char - 위키백과, 우리 모두의 백과사전

 

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

번호 제목 글쓴이 날짜 조회 수
공지 Software Development Trend (with Java) 황제낙엽 2024.01.19 592
» 컴퓨터와 인간의 대화[3]-char 황제낙엽 2016.04.22 117
72 컴퓨터와 인간의 대화[2]-서론2 황제낙엽 2016.04.22 128
71 컴퓨터와 인간의 대화[1]-서론1 황제낙엽 2016.04.22 126
70 EULA (End User License Agreement) ; 소프트웨어 사용자 라이선스 계약 황제낙엽 2015.06.26 463
69 WYSIWYG 황제낙엽 2013.02.23 118
68 프로젝트의 스토리 보드 황제낙엽 2010.03.03 97
67 Character Entity Set(s) 황제낙엽 2013.06.24 57620
66 비주얼 스튜디오 단축키 모음 황제낙엽 2012.12.04 121
65 줄바꿈 문자에 대한 고찰 (Special Charaters) 황제낙엽 2011.02.13 347
64 CRC32 (C++) file 황제낙엽 2010.03.28 127
63 아웃룩(Outlook 2010) 메일 보관 경로(.pst) 변경과 백업/복구 file 황제낙엽 2009.12.28 577
62 VB 6.0 ActiveX 웹 배포 황제낙엽 2009.10.12 137
61 ActiveX 강좌 황제낙엽 2009.10.12 135
60 쿠키 제어 (Javascript, PHP, JSP) 황제낙엽 2009.06.11 626
59 웹브라우저에서 FTP서버에 접속하기 황제낙엽 2009.01.06 120
58 Touring the Commons - part 1 황제낙엽 2008.05.20 286
57 사랑비 BGM 보안 취약점 황제낙엽 2008.08.02 670
56 Web2.0을 위한 (Flash, JavaScript) 차트(Chart) 솔루션 정리 file 황제낙엽 2008.07.17 147
55 (DNS서버구축) reverse zone 파일 설정 황제낙엽 2008.06.19 179
54 (DNS서버구축) zone 파일 설정 황제낙엽 2008.06.19 121