Software/C++
-
IEEE 754 부동 소수점 표준Software/C++ 2024. 8. 19. 11:12
부동 소수점 (floating point) 부동 소수점은 이진법으로 소수를 표현하는 데 있어 정수부와 실수부를 구분하는 기준점이 고정되어 있지 않고 형태에 따라 변화하는 표현방식을 일컫는다. 부동 소수점의 특징1. 고정 플로팅 방식에 비해 훨씬 넓은 범위의 실수를 표현할 수 있다.2. 고정 플로팅 방식에 비해 실제 값을 얻을 때 연산 과정이 추가되기 때문에 필연적으로 속도가 느려진다.3. 유효 숫자의 자리는 정해져있다. 부동 소수점 표현 방식 IEEE 754 IEEE 754는 부동 소수점을 표현하는 가장 널리 쓰이는 표준이다.32비트로 처리하는 Single precision (단정밀도)와 64비트로 처리하는 Double precision (배정밀도)가 있다. 표현 원리는 다음과 같다.- 표현하려는 ..
-
Volatile 키워드Software/C++ 2024. 8. 14. 15:17
Volatile Volatile 키워드가 변수 앞에 붙으면 컴파일 단계에서 최적화를 하지 않겠다라는 의미이다.이것이 무슨 말인지 이해하기 위해서는 임베디드 시스템의 구조와 컴파일러 단계에서 어떻게 최적화를 진행하는지 이해가 필요하다. 만약 임베디드 시스템에서 0x80AA번지에 값을 여러번 변경하여 코드를 수행하는 작업을 진행한다고 가정해보자.(int * )0x80AA = 0x01;(int * )0x80AA = 0x02; (int * )0x80AA = 0x03; (int * )0x80AA = 0x04; (int * )0x80AA = 0x05; 이 때 임베디드 시스템에서는 같은 레지스터에 쓰이는 값들이지만 순차적으로 다른 코드에서 해당 레지스터 값을 참조하여 시퀀스를 수행할 것이다. 그런데 똑똑한 컴파일러는..