vector 변수 size() - 1 함부로 쓰지 말 것
vector v; int i = 0; cout
Development/Algorithm
2020. 7. 26. 16:46
l + (r - l) / 2 혹은 start + (end - start) / 2 에 대한 고찰
C++을 사용하다 보면 중간 값을 구하는 연산으로 흔히들 아래와 같이 쓴다 mid = (l + r ) / 2; mid = (left + right) / 2; // 또는 mid = (start + end) / 2;가끔 다른 사람들이 짜 놓은 소스코드를 보면 아래와 같이 돼있는 걸 본적이 있다. mid = l + (r - l) / 2; mid = left + (right - left) / 2; mid = start + (end - start) / 2;수학적으로는 전혀 차이가 없는데 저렇게 나누는 이유는? Overflow 때문이다. 변수들이 int로 선언된 경우, left + right가 INT_MAX를 넘어서는 경우 overflow가 일어나서 원하는 결과대로 수행이 되질 않는다. 따라서 최소한의 방어벽을 치..
Language/C C++
2020. 7. 26. 12:56
공지사항
- Total
- 818,010
- Today
- 4
- Yesterday
- 167
TAG
- 안드로이드
- 음악
- linux
- C++
- NDK
- 리눅스
- database
- Troubleshooting
- Quiz
- algorithm
- winapi
- java
- Python
- jni
- source
- android
- 프로그래밍
- driver
- it
- 드라이버
- MFC
- AWS
- C
- Cloud
- jni강좌
- kering
- db
- gcc
- API
- Visual C++