-
CS (computer science) 가 중요한 이유 - feat.비전공자를 위해Computer Science 2023. 7. 21. 20:07
필자는 우연한 경험으로 CS의 중요성에 대해 알게 되었다.
물론 정보처리기사 = CS 지식이라고 생각했으나, 비전공자로써 부족한 점이 많다는 것을 깨달았다.
개발을 시작함에 있어서 가장 기초 지식에 대하여, 오늘부터 하나씩 기록하려고 한다.
오늘의 주제는 int형 즉 정수형의 범위는 어디까지 일까?
그리고 int형의 범위를 아는 것이 왜 중요할까? 에 대해서 알아보자.
그렇다면, int형은 어디에 사용되는 것일까? 바로 돈이란 연관되어 있다.
금융 및 블록체인? 전자상거래 등등 대부분에 사용될 것이다.
int형의 범위 : -2,147,483,648 ~ 2,147,483,647 (=2**31 -1)
범위는 위와 같고, 만약 저 범위를 벗어나면 오버플로우가 된다.
그렇다면 정수 오버플로우란?
정수값이 증가하면서, 허용된 가장 큰 값보다 더 커져서 실제 저장되는 값은 아주 작은 수 이거나, 음수인 경우를 의미한다.
즉, 변수의 언더 플로우, 오버플로우는 일종의 안전 장치이다. 왜냐하면 메모리 무결성을 지키기 위해, 할당하려는 값의 앞 뒤의 메모리 영역을 덮어쓰기 보다 언더 플로우, 오버 플로우 결과를 선택하는 것이다.
그렇다면 int64를 쓰면 괜찮을까?
그렇지 않음!
값의 범위가 커지는 것 일뿐, 똑같이 할당 받은 양보다 더 크면 오버플로우 이슈가 존재!
<int32 vs int64 의 차이는?>
32bit는 4byte / 64bit는 8byte 이므로 할당 받는 메모리의 크기와 사용할 수 있는 수의 차이가 생김
'Computer Science' 카테고리의 다른 글
Context switch란? (0) 2023.08.21 32bit 와 64bit의 차이점 (0) 2023.07.26