작성
·
240
0
답변 1
1
컴퓨터가 대부분 64비트 환경에서 돌아가는 요즘,
레지스터도 64비트 단위로 연산을 하기 때문에
int64를 선언하고 사용하는건 아무런 부담이 없습니다.
그리고 int32는 3억이 넘으면 아슬아슬한 반면
int64는 상상 이상으로 커서 평생 다 쓸 일이 없습니다.
따라서 hp, 데미지, gold 같은 애들은 int64로 가는게 일반적입니다.
(기획적으로 인플레이션 등을 고려해서라도, 굳이 int32로 갈 이유가 없습니다)
그럼에도 정말 int32로 가고 싶다면,
말씀하신대로 Max 수치를 체크하는 식으로 안전하게 검증을 하면 됩니다.
(루프를 도는 것은 cpu가 조금 아까워 보이네요)
정수 오버플로우 문제는 대부분 int*int만 살짝 조심하면 그만이긴 하지만,
그래도 프로젝트마다 한 두번 정도는 늘 발생하는 것 같네요.
감사합니다!!