All250 소수점 이진수로 변환하는 법 | 소수점 이진법 ex) 68.625 -> ??? 1. 정수부(68)는 그대로 이진수로 변환한다. 64 + 4 -> 100 0100 2. 소수부(0.625)만 가져온다. 0.625 3. 소수부에 2를 곱하는데 그 결과가 1로 떨어질 때까지 혹은 똑같은 소수점이 나올 때까지 반복한다. 0.625 x 2 = 1.250 (정수부는 버린다) 0.250 x 2 = 0.500 0.500 x 2 = 1.000 4. 위에서부터 차례로 가져온다. result: 101 5. 정수부와 소수부를 합친다. 1000100.101 ex) 125.3 64 + 32 + 16 + 8 + 4 + 1 -> 111 1101 0.3 x 2 = 0.6 0.6 x 2 = 1.2 0.2 x 2 = 0.4 0.4 x 2 = 0.8 0.8 x 2 = 1.6 (첫번째 결.. 2020. 2. 25. 소수(십진수)를 IEEE 754 (32bit 단정도) 부동 소수점 방식으로 나타내기. 프로그래밍에서 많이 사용되는 부동 소수점이 표현되는 방식에 대해 알아보겠습니다. 우선 부동 소수점은 부호부, 지수부, 가수부로 나뉩니다. 32비트 부호부: 최상위 1비트 지수부: 8비트 가수부: 23비트 -118.625라는 수를 부동소수점 방식으로 변환해보겠습니다. 1. 먼저 음수이므로 최상위 비트를 1로 설정합니다. (양수일 경우 0) 여기선 가독성을 위해 4bit 마다 공백을 표시하겠습니다. 2. 절댓값 118.625를 이진법으로 변환합니다. (소수점 이진법으로 표기하는 법) 118.625 -> 1110 110.101 3. 소수점을 왼쪽으로 이동시켜 정수부가 한자리가 되도록 합니다. 1110 110.101 -> 1.1101 1010 1 4. 3번에서 이동시킨 자릿수(6)만큼을 2의 지수로 사용하여 곱.. 2020. 2. 25. Git(깃) 특정 브랜치 clone(클론) 하기 remote 저장소에서 특정 브랜치를 clone 하고 싶을 때 다음과 같이 커맨드를 작성합니다. git clone -b { branch name } --single-branch { repo url } ex) git clone -b woohyeon --single-branch https://github.com/wooPedia/Leetcode.git 2020. 2. 24. [C++] 스택과 힙 메모리, "RAII"라는 패턴 및 기법에 대해 알아보자 RAII가 스마트 포인터와 연관이 있어 해당 카테고리에 작성한다. 먼저 지역 변수와 매개변수가 저장되는 스택 메모리에 대해 알아보자. 스택 메모리 (Stack memory) 스택은 지역 변수와 매개변수가 저장되는 공간이며 예약된 지역 메모리 공간이다. 예약된 메모리라는 말은 동적 할당처럼 사용자의 입력 N에 따라 할당하려는 크기가 변하는 것이 아니라 int arr[10]과 같이 컴파일 타임에 그 크기가 미리 정해지는 메모리란 뜻이다. 예약된 메모리 공간이기 때문에 동적으로 할당하는 힙 메모리와 달리 메모리 할당과 해제에 대한 오버헤드가 없다. 스택은 데이터를 저장할 때 스택의 경계를 넘어 다른 영역이 침범되는 것을 막기 위해 한계치(가장 높은 주소)부터 거꾸로 저장한다. 즉 스택의 top은 스택 메모리 .. 2020. 2. 23. [C++] 추상 클래스와 순수 가상함수를 알아보자(feat. 인터페이스, 다중상속) 추상 클래스 추상 클래스란 순수 가상함수를 1개 이상 가지고 있는 클래스를 말한다. 순수 가상함수란, 구현되지 않은 가상함수를 말한다. 구현되지 않은 가상함수란, 상위 클래스에서 정의는 하지 않고 선언만 해놓은 가상함수를 말한다. 순수 가상함수는 다음과 같이 표시한다. 가상 함수에 0을 대입하여 해당 클래스에선 구현하지 않겠다라는 의미를 부여한다. virtual void PureVirtualFunction() const = 0; // 순수 가상함수 가상 함수를 모른다면 https://woo-dev.tistory.com/50 첫 번째 클래스는 추상 클래스이며 두 번째 클래스는 추상 클래스가 아니다. 1. class FirstClass { public: ... void SampleFunction() cons.. 2020. 2. 20. [C++] CRT 라이브러리로 디버깅 시 메모리 누수 찾기 메모리 동적 할당 후 해제를 따로 하지 않아도 에러가 발생하지 않기에 누수 발생 여부를 알기 어렵다. 이때, CRT 라이브러리를 이용하면 다음과 같이 디버깅 시 누수 지점을 쉽게 찾을 수 있다. Detectd memory leaks! 우선 다음과 같은 선언이 필요하다. #define _CRTDBG_MAP_ALLOC #include #define 문은 메모리 누수 결과를 더 자세히 보여주도록 하는 정의문이라고 하는데 나의 경우 결과가 동일했다. 실제로 더 자세히 보여주기 위해선 new 연산자를 추가 인자와 함께 매크로로 정의하여 몇 가지 정보를 더 출력하도록 해야했다. 그 방법은 잠시 후 소개하고, 결과가 동일해도 혹시 모르니 위와 같이 작성한다. 다음은 누수를 탐지하기 위한 함수들이다. 복잡해보일 수 있.. 2020. 2. 17. 이전 1 ··· 29 30 31 32 33 34 35 ··· 42 다음