부동소수점 정수 변환

2025. 4. 30. 14:52C++

정수는 시프트(<<)가 정확하고 빠름

부동소수점(float)은 곱셈 연산이 필요 -> 비트 시프트가 의미 없음

raw << 8 raw가 int일 때 raw × 256
raw * (1 << 8) raw가 float일 때 raw × 256

결과는 같지만 자료형에 따라 다름

 

반대로 원상 복구

toInt() 고정 소수점 → 정수 (정수부만 추출) 960 >> 8 = 3
toFloat() 고정 소수점 → 부동 소수점 (복원) 960 / 256 = 3.75

 

'C++' 카테고리의 다른 글

round  (0) 2025.04.30
부동소수점 숫자  (0) 2025.04.29
Orthodox Canonical Form  (0) 2025.04.29
fstream  (0) 2025.03.31
참조자(Reference)  (0) 2025.03.27