문서의 이전 판입니다!
?높은 심도가 무조건 좋은거다?
그렇지 않다. 연산 형식이 다른 두 형태의 심도를 같이 비교하면 안된다.
정수형과 부동소수형의 장단점
일단 숫자 데이터 연산의 형식에는 정수형(Integer)과 부동소수형(Floating Point)이 있고, 서로 사용하는 연산기가 다르다. 정수형의 장점은 빠른 계산이 가능하다는 점, 하지만 표현할 수 있는 숫자의 범위가 적다는 점이고
부동소수형의 장점은 글자수(bit)에 비해서 표현할 수 있는 숫자의 범위가 매우 크다는 점이지만, 실제 숫자 표현의 자릿수와 소수점 표현에 대한 자리수의 복잡한 표현으로 이루어지기 때문에, 계산방식이 다소 느려진다는 점. 그리고 오차가 다소 발생할 수 있다는 점이 그 단점이다.1)
각 데이터 형식의 표현 범위
정수형 숫자 표현의 범위
- 16bit 정수형의 총 표현 가능 단계 =
= 65536(5자리수)
- 24bit 정수형의 총 표현 가능 단계 =
= 16777216(8자리수)
- 32bit 정수형의 총 표현 가능 단계 =
= 4294967296(10자리수)
- 56bit 정수형 =
= 7.2057594e+16(16자리수)
- 64bit 정수형 =
= 1.8446744e+19(19자리수)
부동소수형 숫자 표현의 범위
- 32bit 부동소수형의 가장 작은 숫자 =
= 1.1754944e-38 (소수점 38자리수)
- 32bit 부동소수형의 가장 큰 숫자 =
= 3.4028235e+38 = (38자리수)
이중에서 32비트 정수형과 32비트 부동소수를 비교하면
32비트 정수형은 10자리수, 32비트 부동소수는 38자리수의 숫자를 표현 가능하므로, 32비트 부동소수에서 맨 끝자리 수가 오차가 나더라도 심지어 2자리나 오차가 난다 하더라도, 32비트 정수형의 -27, -27 자리 수에서 오차가 나는 것으로, 개미의 발톱도 안되는 오차라고 볼 수 있다. 하지만 정밀 공학에서는 이러한 오차가 큰 문제를 발생시킬 수도 있다. 하지만, 오디오나 그래픽에서는 전혀 문제가 안된다.
40bit 부동소수 연산용 DSP 칩.
https://ez.analog.com/dsp/sharc-processors/f/q-a/61940/40-bit-floating-point-adsp21489
디지털 콘솔은 왜 정수형 연산자를 쓰는가?
디지털 콘솔들 중에서 내부 DSP의 연산형식이, 48bit, 56bit 등인 제품들은 정수형 DSP 연산 형식으로 나온 제품들이고 연산 레이턴시 부분에서 이득을 보기위해 채택한 DSP 정수형 연산자를 쓰기 때문이다. 이 제품들의 해상도는 32 bit 부동소수형 DSP 보다 해상도 면에서는 떨어지는 것이다.하지만 정수가 연산 속도2)가 빠르므로 레이턴시 부분에서 유리하기 때문에 아직도 디지털 콘솔 중엔 정수형 DSP를 쓰는 제품이 많이 있다.
결론
위에서 볼 수 있듯이 32 bit 부동소수가 표현할수 있는 숫자 범위는 정수형 표현과 비교하면 128 bit가 와도 상대가 안될 정도로 높으므로 48, 56bit 정수형 등과 같은 정수형 연산자들과 비교한다면 32bit 부동소수형은 거의 아날로그에 가깝다고 생각해도 무리가 아니다.3)
[공지]회원 가입 방법
[공지]글 작성 및 수정 방법