SInt16
을 double
또는 Float32
에서 double
으로 변환하려면 어떻게해야합니까?`SInt16 '을`double'로 어떻게 변환합니까?
double *buffer;
SInt16* frames;
for (i = 0; i < number_of_frames; i++) {
Float32 currentFrame = frames[i]/32768.0f;
}
하지만 많은 C의 기능을 사용하고 있는데 나는 double
그들에게 데이터를 전달하려는 : 내가 SInt16
이 같은 Float32
에 변환 할 수 있습니다 알고 있습니다.
지금 나는이 코드를 사용합니다
for (i = 0; i < number_of_frames; i++) {
Float32 currentFrame = frames[i]/32768.0f;
buffer[i] = currentFrame;
}
을하지만 결과가 정확한지 모르겠어요.
왜 결과가 "올바르지 않다"고 생각합니까? –
@ Paulul 전체 프로그램 끝에 잘못된 값이 있습니다. 이 변환에 문제가있을 수 있습니다. – andrey
가장 단순한 것은 두 개의 값을 출력하고 예상 한 결과인지 확인하는 것입니다. –