바이트를 플로트 조회 테이블을 어디에서 찾을 수 있습니까?

StackOverflow https://stackoverflow.com/questions/1089235

  •  23-08-2019
  •  | 
  •  

문제

나는 처음에 바이트를 플로트로 변환하는 방법을 찾고 있었고, 가장 빠른 것은 조회 테이블을 만드는 것임을 나타내는 답을 찾았습니다.

그래서 누군가 내가 사용할 수있는 기존 조회 테이블을 알고 있는지 궁금했습니다.

도움이 되었습니까?

해결책

일반적으로 몇 줄의 코드 라인과 루프 또는 목적에 맞는 모든 것을 사용하여 조회 테이블을 초기화합니다. 유한 한 수의 가능한 입력에 대해 많은 수의 전환을하는 경우에만 유용합니다.

아래의 예는 조회 테이블을 구축하고 사용하는 기본 기술을 보여주는 것입니다. 더 많은 수학이 포함되지 않으면이 구현을 구현하면 실제로 성능이 히트됩니다 (아래 참조).

float[] lookupTable = new float[256];
for (int i = 0; i < 256; i++)
{
    lookupTable[i] = (float)i;
}

float convertedValue = lookupTable[byteValue];

코드는 C#이며 목표 C에 대한 경험이 없습니다. C ++에서는 배열 선언이 약간 다르지만 아이디어를 얻습니다.

조회 테이블을 언제 사용해야합니까?

위의 예에서는 계산이 필요하지 않기 때문에 성능 게인이 없습니다. 바이트에서 플로트로 변환됩니다. 부동 소수점 부서가 관련된 경우 (예 : 경우와 같은 경우)를 고려하십시오.

    lookupTable[i] = i / 255f;

이 경우 조회 테이블은 직접 계산을 사용하는 것보다 빠릅니다. 수학 (삼각법 등)이 더 복잡할수록 성능 게인이 커집니다. 또 다른 일반적인 사용법은 이미지를 수정하는 감마입니다 (지수 함수).

다른 팁

조회 테이블? 우리는 stinkin 'lexup 테이블이 필요하지 않습니다!

float floatVal = (float)byteVal;
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top