정수

이승덱·2021년 7월 21일
0

CPP

목록 보기
1/70
#include <iostream>

using namespace std;

// Ctrl+K+C(주석처리) Ctrl+K+U(주석처리 취소)

// 프로그래밍은 적절한 데이터를 저장하고 가공하는 것

// 데이터 + 로직

// 0이 아닌 초기화 값이 있으면 .data영역

int hp = 100;

//초기값이 0이거나, 초기값이 없는 변수라면 .bss 영역

char a; //1바이트      -128 ~ 127

short b; //2바이트     -32768 ~ 32767

int c; //4바이트       -21.4억 ~ 21.4억

__int64 d;  //8바이트 (long long)      개큼

unsigned char a1; //1바이트      0~255

unsigned short b1; //2바이트     0~65535

unsigned int c1; //4바이트       0~42.9억

unsigned __int64 d1;  //8바이트 (long long)      개큼

//이론적으로 양수만 존재할 수 있는 경우 unsigned를 고려해보자

//-레벨이 음수라는 것은 말이 안된다 <-> 그럼 차라리 그 자리에서 프로그램을 크래시 내서 버그를 빨리 찾는게 낫다

//-> 콘솔/모바일 게임 -> 메모리가 부족함

//-> 온라인 게임 -> 정보를 전송할 때 데이터 크기가 클 경우 낭비임 -> 많은 유저 보유시 더 낭비가 심함

int main()

{

    b = 32767;

    b = b + 1;

    cout <<b<<endl; //-32768이 됨 ->정수 오버플로가 발생 ->오브젝트가 뜬금없이 사망하는 등의 버그 발생 가능

    b1 = 0;

    b1 = b1 - 1;

    cout << b1 << endl; //65535가 됨 -> 정수 언더플로가 발생

}
profile
공부 기록용 블로그입니다

0개의 댓글