CPP_RO_정수

CJB_ny·2022년 7월 6일
0

C++ 정리

목록 보기
14/95
post-thumbnail

Hello World라는 한줄 짜리 출력문이

어셈블리 언어로 뜯어보면은

어셈블리 한줄이 CPU instruction한개랑 (1ㄷ1 대칭)맞먹는다고 보면된다.

우리가 배웠던 문법들과 안 배운 문법들이 등장을 한다.

프로그래밍

을 단순하게 생각하자.

적절한 데이터를 저장하고 가공하는 것

데이터 + 로직

정수

-2 -1 0 1 2 .. 다포함 하는게 "정수"

메모리 올라감 ❗

0이 아닌 초기화 값이 있다면 -> .data 영역으로 올라감.

초기값이 0이거나, 초기값이 없는 변수라면 -> .bss 영역으로 올라감.

data영역 👍

프로그램이 실행되고 종료될 때까지 남아아있는 메모리이다.

main함수 밖에 선언해놓은 hp는 전역변수라서 data영역에 올라가게 된다.

정수의 크기

어셈블리에서 byte, word, dword, quad

했던것처럼

char a; == 1byte

short b; == 2byte

int c; == 4byte

__int64 == 8byte == long long

이다.

근데 이렇게 char, short 선언해놓으면 기본적으로 signed 생략되어있음.

signed라는 것은 "부호"가 있다는 것 == 최상위 비트를 음수로 사용하겠다.

console, 모바일게임

메모리를 아끼는게 ㅈㄴ 중요하다.

양수만 필요한 데이터 일 경우

레벨과 같은 부분에서 unsigned를 사용해야 할까?

스타일에 따라서 다르다 -> 버그를 빨리 잡기 위해서 안사용하는 스타일(경우)도 있다.

오버플로우

정수 오버플로우

정수 언더플로우

전역 변수로 b = 32767 
b = b + 1;

=> -32768 나오는데

여기서 1 더해서 그럼.

profile
https://cjbworld.tistory.com/ <- 이사중

0개의 댓글