제곱근 연산은 정말로 비싼 연산일까?
제곱근 연산은 게임 프로그래밍에 있어서 자주 쓰이는 연산 중 하나라고 생각합니다. 백터의 정규화, 벡터의 길이를 구하는 등, 여러 방면에서 유용하게 쓰입니다. 하지만 간혹 최적화에 대한 이야기가 나오면, 제곱근 연산은 비싼 연산이다라는 이야기도 함께 나옵니다. 여러 블로그 글이나, 유니티의 Vector3.magnitude에 대한 문서에서도 Vecto...
제곱근 연산은 게임 프로그래밍에 있어서 자주 쓰이는 연산 중 하나라고 생각합니다. 백터의 정규화, 벡터의 길이를 구하는 등, 여러 방면에서 유용하게 쓰입니다. 하지만 간혹 최적화에 대한 이야기가 나오면, 제곱근 연산은 비싼 연산이다라는 이야기도 함께 나옵니다. 여러 블로그 글이나, 유니티의 Vector3.magnitude에 대한 문서에서도 Vecto...
최근 DSA 공부를 위해서 여러가지 문제를 풀어보고 있습니다. 그중에 피보나치수열(Fibonacci Sequence)에 대한 문제를 풀던 중 피사노 주기(Pisano Period)라는 개념이 등장했습니다. 상당히 흥미로운 주제라 정리해 볼 겸 글을 써봤습니다. 피보나치수열과 피사노 주기 우선 피보나치수열부터 다시 정리해보겠습니다: 피보나치수열은...
Null은 기본적으로 비어있는 값을 의미합니다. 참조 형식 변수들의 기본 값이 되는게 Null이죠. C#에서는 이 Null과 관련된 여러가지 연산들을 지원합니다. ??=, ?., ?[] 등의 연산자들을 지원하죠: ??=: 피연산자가 Null이 아닌경우 왼쪽 피연산자의 값을 반환하는 연산자 ?.: a?.x와 같이 사용할 경우, a가 Null이...
C++에서는 malloc, new, calloc을 통해 동적 메모리 할당이 가능합니다. 반대로 해제할 때에는 free, delete를 통해 해제가 가능하고요. 동적 메모리 할당은 이름 그대로 프로그램이 실행되어 있는 시간, 즉 런타임 동안 사용할 메모리 공간을 할당하는 것입니다. malloc, free, new, delete의 차이점은 다음과 같습...