[circle]#define ishan(ch) (((ch) & 0xE0) > 0x90)
박찬영
2,543
0
0
2004-09-29 17:29:00
4Comments
미르
2004.09.30(목) 오후 04:54:52
프로그래밍언어 책 뒷쪽에 뒤져보시면 아스키코드표라고 있답니다. 저것이 아마 한글코드가
시작하고 끝나는 부분의 아스키값이던가...어쨋든 한글코드값이에요 ㅡ,.ㅡ::::
한글코드범위와 입력받은 문자를 비교해서 그 사이에 맞으면 한글로 변환시키는함수던가..
한글함수를 귀찮아서 살피지 않고 그냥 옛날 예술인님꺼 받아쓴거라 정확하게는 모르겠지만 대충 그런 역할임 ㅡ,.ㅡ::::
박찬영
2004.09.30(목) 오후 11:45:21
이해가 안돼서요.
박찬영
2004.10.01(금) 오전 00:44:20
0xE0 (16진수) = 224 (10진수) = 1111 0000 (2진수)
ch = 'A' = 65 (10진수) = 0x41 (16진수) = 1000 0001 (2진수) 일때
식 (ch) & 0xE0 의 계산 과정을 보면...
1000 0001 (ch = 'A')
1111 0000 (0xE0)
& ---------
1000 0000
즉 ch 에 저장된 값에서 앞의 4자리 값만 그대로 출력되고
뒤의 4자리 값은 모두 버려지게 됩니다.
따라서 전체식의 의미는 ch의 2진수 표현에서 앞에 4자리 값이 0x90 보다
크면 한글이라는 표현입니다.(참고로 0x90 = 144 = 1001 0000)
즉, ch에 저장된 값이 0xA0 ( = 160 = 1010 0000) 이상일 때 한글로 판정한다는
의미입니다.
반다로 생각하면 한글은 0xA0 이상의 값부터 아스키값처럼 매핑되었다고 생각할수 있겠죠^^
박찬영
2004.10.01(금) 오전 00:45:41
아..속이 뻥 뚫리네.
총 게시물 954개 / 검색된 게시물: 954개