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
- Today
- Yesterday
TAG
- java
- AWS
- linux
- winapi
- gcc
- 리눅스
- MFC
- kering
- Troubleshooting
- Cloud
- C++
- jni강좌
- source
- NDK
- 드라이버
- 음악
- it
- Visual C++
- algorithm
- jni
- API
- driver
- android
- C
- db
- 안드로이드
- Quiz
- 프로그래밍
- database
- Python
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
글 보관함