1. 서론 우리는 지금까지 변수를 이용해 여러가지 연산을 수행하는 방법에 대해 학습하였다. 숫자와 연산자만 이용해 모든 연산을 할 수 있다면 참 편하고 좋으련만 애석하게도 C에서는 연산을 할 때 제약이 있다고한다. 그 이유는 변수의 타입 마다 보관할 수 있는 데이터의 크기가 정해져있기 때문이다. 예를 들면 int형 변수는 -2147483648 부터 2147483647 까지의 정수 데이터를 보관할 수 있다. 그렇다면, 보관할 수 있는 크기를 넘어가는 데이터를 변수에 저장하고자 하면 무슨 일이 발생할까? 앞서 int 형 변수가 21447483647 까지의 정수 데이터를 보관할 수 있다 했으므로, 다음과 같이 코드를 작성한 뒤 실행시켜보자. #include int main() { int a = 21474836..
연산자 중의 하나인 비트연산자에 대해 알아보자. 비트연산자는 비트(bit) 하나하나에 대해 연산을 하는 연산자이다. (Recall : 비트 = 컴퓨터에서 숫자의 최소 단위 / 1비트는 0또는 1을 나타냄) 이렇게 설명하면 무슨말인지 잘 와닿지 않을 확률이 높기때문에 일단 비트연산자에 어떤것들이 있는지 살펴보도록 하자. 1. AND 연산(&) AND 연산은 아래와 같은 규칙을 통해 연산되는데, 집합론 초반 명제에 대해 배울때 사용했던 truth table과 유사한 형태를 띄고 있으니 수학을 전공하신 분들이라면 직관적으로 이해하실 수 있을 듯 하다. 연산 결과 1 & 1 1 1 & 0 0 0 & 1 0 0 & 0 0 비트연산은 각 자리를 연산한다. 아래는 예시로 1010 & 0011 의 연산 과정을 나타낸 ..
1. C++의 변수선언은 C와 거의 동일하다 변수를 선언하는 방법부터, 선언시 주의해야 할 사항까지 C++의 방법은 C의 방법을 거의 그대로 물려받았다. 변수의 이름을 정할 때 주의해야 할 점들을 복기해보면 다음과 같다: (1) 숫자로 시작 불가 (2) C++에서 사용중인 키워드는 사용 불가 (예 : return 같은 이름 설정 불가) (3) white space 사용 불가 (스페이스바, 엔터, 탭 등 여백은 변수로 설정 불가) 변수를 선언하는 예를 보자 : #include int main() { int a;--> int형 변수 a 선언 char c;--> char형 변수 c 선언 double d;--> double형 변수 d 선언 float f;--> float형 변수 f 선언 return 0; } 변..
1. 이름공간(namespace)이란? 이름공간(namespace) 란 어떤 정의된 객체에 대해 어디에 소속되어있는지 지정해 주는 것이다. 코드의 길이가 늘어남에 따라 중복된 이름을 가진 함수들이 늘어났고, C++에서는 이들을 구분하기 위해 이름이 같더라도 소속된 이름공간(namespace)가 다르다면 다른 함수인 것으로 취급하게 되었다. 예를 들자면 영국에 사는 찰스와 미국에 다른 찰스가 서로 다른 느낌이다. 아래의 예를 보자. std::cout; 위의 코드는 std 라는 namespace 에 저장되어 있는 cout 을 의미한다. 만약 std 없이 그냥 cout 만 적게된다면 컴파일러는 cout을 찾지못한다. 어디에 소속된 cout인지 알 길이 없기 때문이다. 2. namespace를 정의하는 방법 n..