기본 자료형
크기 | 자료형 |
---|---|
1Byte | char ,bool |
2Byte | short |
4Byte | int , float |
8Byte | long long , double |
실수하기 쉬운 부분
정수 오버 플로우
- short: 약 -3만~3만
- int: 약 -21억~21억
- long long: 매우큼 int의 제곱
정수를 더하거나 곱할 때 최대치보다 크면 오버플로우가 발생해 예상치못한 값이 될 수 있다. 특히 for문에서 오버플로우가 발생하면 무한 루프가 발생할 수 있다. 변수가 최대 어느정도까지 증가하는지 체크하자.
실수 정밀도
실수는 정밀도때문에 비교 연산을 아래처럼 해야한다. 또한 되도록이면 float 말고 double을 사용하는게 낫다.
//비교
if(abs(a-b)<1e-12){...}
unsigned 연산
unsigned 타입의 변수들은 음수가 없다. 이때 0아래로 내려가는 언더플로우를 조심해야 한다.