프로그래밍

 3198, 1/160 회원가입  로그인  
   kumi123
   아스키코드 질문있어요.

http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=2867 [복사]


int a='a';
라는 변수를 선언시

컴퓨터는 'a'라고 인식합니다.

근데, cpu에서는 92인지 'a'인지 어떻게 알죠?

위에는 어짜피 사람이 보기편하게 나타낸것이지

cpu입장에서는 다 숫자 일꺼 아니에요?

  Hit : 4680     Date : 2011/01/22 12:45



    
dark885 컴파일러가 해독을 해주기 때문이 아닐까요? 2011/01/22  
geniousblue 프로그래머가 어떻게 코딩하느냐에 따라서 숫자로 해석할 수도 있고 문자로 해석할 수도 있지요. 2011/01/22  
geniousblue 예를 들어, printf("%d", a); 이면 97이 출력되고, printf("%c", (char)a);이면 a가 출력되겠지요 2011/01/22  
$Zero 92라는 숫자는 시피유가 a를 인식하는 숫자가아니라 아스키코드에서의 a입니다.
즉, 시피유가 92라고 인식한 숫자를 프로그래머가 문자열이나 문자로 전송했으면 아스키코드에 매치시켜서 문자를 출력시켜주는거지요 .

97이라고 보낸것과 "a"라고 보낸것은 시피유에게 다르게 간다는 소리입니다.
(시피유가 알아듣는 언어는 기계어이며 01010010101 같은 2진수의 집합입니다. )

2011/01/22  
$Zero 아 이제보니 위에 92라고 적었네요 ;
97이라고 봐주시길
2011/01/23  
smilehsm28 시피유는 언밀히말해 기계어 10001001 가 아닌 '전기신호'입니다.
이러한 '전기신호'의 조합을 매치시킬때

해당 타입값이 추가로 트레일러로 붙는다고 생각하면
문자값 , 정수값 , 실수값에 따라 서브스트링매치가 달라질것이며,
읽는 바이트값이 달라지지 않을까요

물론 추측입니다.
2011/01/24  
$Zero smilehsm28// 엄밀히 말해 전기신호지만 10001001같은것과 다를바 없습니다.
1볼트를 보내면 1(true)이고 0.5볼트를 보내면 0(false)로 인식합니다.
2011/02/01  
maby258 A라고 하면 92, \'A\'라고하면 문자 A로 인식하겟죠...?? 애초에 아스키코드가 키보드에 있는 문자값을 컴터가 알기쉽게 숫자로 정의해 놓은 표 니까여..... 2011/02/02