2016년 4월 11일 월요일

알파벳 대소문자 변환 하는 법

일단 대문자를 소문자로
소문자를 대문자로 고치는 방법은 많이 있겠지만 (함수도 있다)
나는 2가지 방법을 쓰겠다.

우선 문자를 입력받아서 거기서 32를 더하거나 빼주면 된다.

A는 아스키코드값이 65이고
a는 97이다.
둘의 차이는 32. 그래서 32를 빼주면 대문자가 되고 더하면 소문자가 된다.
귀찮다.

두번째 방법은 비트 연산을 이용하는것

A는 비트로 0100 0001 이다(65니까)
a는 비트로 0110 0001 이다(97이니까)
(참고로 비트 맨 마지막이 0이냐 1이냐로 홀수 짝수 구분됨.)
이 비트들을 ^32 해준다.
32는 비트로 0010 0000이다.
A로 예를 들면
0100 0001
0010 0000
0110 0001이 된다.
a도 마찬가지이다.
이걸 코드로 짜면
#include<stdio.h>
int main(){
    char a='a';
    char A='A';
    printf("%c %c\n",a^32,A^32);
}

댓글 없음:

댓글 쓰기