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
- 745,187
- Today
- 8
- Yesterday
- 264
TAG
- 프로그래밍
- C++
- algorithm
- Quiz
- source
- jni강좌
- Python
- Troubleshooting
- driver
- Cloud
- java
- database
- 리눅스
- android
- linux
- Visual C++
- 음악
- winapi
- it
- kering
- 안드로이드
- AWS
- NDK
- MFC
- jni
- C
- API
- db
- gcc
- 드라이버