C++프로그래밍/C 와 C++ 기초실습

정수

season97 2024. 9. 15. 19:48

 

※ C / C++을 이미 알고 있으나 개인적인 공부를 위해 포스팅 하는 글이므로

C++에 대한 구체적인 정보를 담고 있지 않습니다.

 

▶ 정수

int main()
{
	int hp = 100;	// 어셈블리에서 .data영역
    int mp;			// 어셈블리에서 .bss영역
   
   	return 0;
}

 

 

#include <iostream>
using namespace std;
int main()
{
    
    char a;     // 1바이트 (-128 ~ 127)
    short b;    // 2바이트 (-32768 ~ 32767)
    int c;      // 4바이트 (-21.4억 ~ 21.4억)
    __int64 d; //(long long) 8바이트 (경을 넘어감... 샐줄모르겠음ㅋㅋ)

    // unsigned를 붙히면 음수범위를 양수범위로 사용할 수 있다.
    // 0부터~~
    // 일반 변수는 signed키워드가 생략되어있는거다
}

ㆍ 참고하자면 다 초기화가 안되있으므로 bss영역에 들어가겠다.

 

※ 어셈블리를 공부하고 온 후에 프로그래머 계산기를 돌려서 바이트 별로 확인해 보니 범위를 확인할 수 있겠다.

 


 

▶ 범위와 관련된 이야기

#include <iostream>
using namespace std;
int main()
{
    unsigned short ub;
    ub = 0;
    ub = ub - 1;
    cout << ub << endl;
    
    b = 32767;
    b = b + 1;
    cout<< b << endl;
}

 

ㆍ위 코드의 연산을 보면 범위를 벗어나는 연산을 테스트 해보고 있다.

ㆍ 어셈블리에서 배웠던 것 처럼 프로 그래머 계산기를 돌려봤다. 위 계산기에 나온 표기와 결과값이 short의 범위다.

ㆍ 여기에 1을 더하면 논리연산이 들어가게된다!

ㆍ 해당 값이 나오는 이유이다. unsigned도 비슷한 이유다!

'C++프로그래밍 > C 와 C++ 기초실습' 카테고리의 다른 글

문자와 문자열 (유니코드)  (2) 2024.09.15
bool과 부동소수점  (1) 2024.09.15
컴파일 과정과 전처리기  (0) 2023.10.09
변수와 상수 영역과 Lifecycle  (0) 2023.10.09
상수  (1) 2023.10.09