궁금증/C++
-
float형과 int형, 뭐가 다를까?궁금증/C++ 2019. 9. 4. 11:04
코딩을 하다 보면 int형을 많이 사용하다가 소수점 연산에 있어서 float이나 double형을 사용하는 경우가 있다. int형의 경우 소수점 연산을 하면 값에 오차가 커지기 때문에 float형을 사용한다......(?) float형의 경우 int 형과 수의 표현 방식이 다르다. int형의 경우 000011110101.... 과 같은 2진수의 표현방법으로 이루어져 있는데 (물론 부호표현이 들어가기 때문에 일반적인 2진수는 아니다.) float형의 경우는 수의 표현영역이 3 부분으로 나뉜다. 부호를 표현하는 sign bit 자릿수를 표현하는 exponent bit 값을 표현하는 mantissa bit 간단히 말해, 부호가 +냐 - 냐, 그래서 크기가 어느 정도냐, 그럼 값은 어느정도냐 를 나눠서 표현을 하..
-
randomized quick sort - 정말로 더 나은가?궁금증/C++ 2019. 3. 28. 15:57
알고리즘에 큰 하나의 축으로 생각되는 sorting 알고리즘( 물론 제 생각입니다) 이 sorting 에는 여러가지 방법들이 있고, 각 방법마다도 또 여러 방식으로 구현을 할 수가 있다. 일단 sorting을 보자면, insertion merge selection bubble heap counting 그리고 오늘 조금 의문점을 가진 quick sort등등....이 있다. (위 사진들은 내용과 거의 상관이 없습니다.) 앞서 말한것과 같이 같은 정렬이라고 하더라도 구현방식이나 추가적인 기능은 가지각색이다.quick sort의 경우는 worst case인 인풋을 고려한 randomized quick sort를 예로 들 수 있는데, 이 randomized에서 뭔가가... 이해가 가지 않는단 말이지...... 이..
-
C++ 배열의 선언에 관하여궁금증/C++ 2019. 3. 27. 09:34
카테고리를 C++로 해뒀다보니 C++에서만의 이야기로 보일수도 있지만사실 일반적으로 8개의 숫자를 넣을 INT 형 변수 ARR을 선언한다고 하면 INT ARR[8] 이라고 적게 되는데....실사용부분은 0~7이다. 그렇다면 왜 직관적으로 INT[7]이라고 하지 않고 INT[8]이라고 하는것일까? 1. 8개라서 8을 쓰는게 직관적이라고 생각할 수 있겠지만2. 7까지 쓰기때문에 7이 더 직관적이라는 말 또한 일리가 있는것 아닐까? 사실 이 의문은 int 형의 길이를 구하려는 도중에 생겼는데,(아무생각없이 int형을 strlen에 넣었더니 안돼서 띠용하고, 뭔짓을 한지 알고 띠용하고) String같은 경우는 끝에 널문자가 들어있어 끝을 확실히 할 수 있지만int 같은경우는 어떤방식으로 배열의 끝을 알 수 있을..