컴퓨터 언어 (14) 썸네일형 리스트형 멤버 변수에 this.를 붙이는 이유 this.를 생략해도 문제없이 쓸 수 있지만, 멤버 변수와 같은 이름의 로컬 변수를 선언할 시, this.가 없으면 로컬 변수가 우선적으로 쓰이기 때문에 오류를 막기 위해 this.를 붙인다. 진수 입력 및 출력 코드업 문제를 풀다가 진수를 설정해서 입출력을 할 수 있다는 점을 알았다. //입력 int hi; cin >> bitset(hi); //2진수 cin >> oct >> hi; //8진수 cin >> dec >> hi; //10진수 cin >> hex >> hi; //16진수 //출력 cout >> bitset(hi); //2진수 cout >> oct >> hi; //8진수 cout >> dec >> hi; //10진수 cout >> hex >> hi; //16진수 precision, fixed 함수 int main() { float a; cin >> a; cout srand(time(0)) srand(time(0)); 이 함수를 꼭 사용해야 랜덤 난수 생성이 가능해진다. 이 함수를 쓰지 않을 시 같은 수를 생성하게 된다. Enum enum ENUM_SRP { ENUM_SCISSORS, ENUM_ROCK, ENUM_PAPER, }; 어떤 상수를 만들 때 const를 선언하거나, Enum 키워드를 쓰거나, #define (되도록이면 지양하는 분위기)을 사용한다. 그 중에서도 Enum과 #define에 대해 더 찾아보기로 했다. Enum 열거형이라고 하며, 상수를 정의할 수 있다. enum ENUM_SRP { ENUM_SCISSORS, ENUM_ROCK, ENUM_PAPER, }; 이 단계에서는 메모리를 따로 할당하지 않는다. 따라서 메모리를 효율적으로 쓰기에 좋다. ENUM_SRP s = ENUM_SCISSORS; ENUM_SRP r = ENUM_ROCK; ENUM_SRP p = ENUM_PAPER; enum의 변수가 정의된 이후에 .. 데이터 연산 ✏ 산술 연산 ✔ 산술 연산자: 더하기 (+), 빼기 (-), 곱하기 (*), 나누기 (/) ✔ 대입 연산 a = b //a에 b를 대입하고 b를 반환한다는 의미 a = b = 3; //오른쪽부터 차례대로 실행됨 ✔ 증감연산자: 변수값을 1 증가시키거나 1 감소시킬 때 쓰는 연산자 a++; //a = a + 1 과 같은 의미 a--; //a = a - 1 과 같은 의미 ✔ ++와 --가 변수의 앞에 붙는지 뒤에 붙는지에 따라 의미가 다르다. b = a++; // a를 b에 적용시킨 이후 a + 1 b = ++a; // a를 1 증가시킨 후 b에 적용 ✏ 비교 연산 ✔ 변수의 값을 비교하는 연산 ✔ 비교 연산 결과 참이면 1, 거짓이면 0 ✏ 논리 연산 ✔ 조건에 대한 논리적 사고가 필요할 때 쓰는 연산 .. 문자와 문자열 ✏ 유니코드 ✔ 전세계 모든 문자에 대해 유일한 코드를 부여한 것이다. 한국어, 중국어가 가장 많은 번호를 차지한다. ✔ 여러가지 표기 방식이 있는데, 대표적으로 UTF8과 UTF16이 있다. ✏ UTF8 ✔ 알파벳, 숫자 1바이트 (ASCII Code와 동일한 번호) ✔ 유럽 지역의 문자 2바이트 ✔ 한글, 한자 등 아시아 국가 문자 3바이트 ✏ UTF16 ✔ 거의 대부분의 문자 2바이트 고정 ✔ 아주 예외적인 고대 문자만 4바이트 (무시해도 될 정도로 드물다) ✔ 대부분의 문자의 사이즈가 2바이트로 고정이기 때문에, 아시아 국가에 서비스할때는 이 방식을 사용하기도 한다. wchar_t a = L'가'; int main() { wcout.imbue(locale("kor")); wcout 비트 연산 배운 내용 정리 비트 단위로 논리 연산을 하거나 비트를 이동시킬 때 비트 연산자를 사용한다. 1. &: 모든 2진수에 and연산을 적용시킨다. 2. |: 모든 2진수에 or연산을 적용시킨다. 3. ^: 두 비트를 비교해서 같은자리의 각 수가 다르면 1을 반환하고, 같으면 0을 반환한다. 4. ~: 비트를 반전시킨다. 0은 1로, 1은 0으로 출력한다. 5. >>: 지정한 수 만큼 비트를 오른쪽으로 이동시킨다. 6. , 이전 1 2 다음