One Byte를 고르게 확장하는 가장 좋은 방법은 무엇입니까?

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

  •  03-07-2019
  •  | 
  •  

문제

CI에서는 a uint8_t 0-255 ~ 0-11

이것을 고르게하는 가장 좋은 방법은 무엇입니까?

도움이 되었습니까?

해결책

8 비트에서 5 비트에서 5 비트로 확장하려는 경우 3 비트 변속을 할 수 있습니다.

uint8_t scaled = (uint8_t)(original >> 3);

이것은 더 낮은 3 비트를 떨어 뜨립니다.

다른 팁

간단한 곱셈과 분할을 사용할 수 있습니다.

uint8_t scaled = (uint8_t)(((uint32_t)original * 32U) / 256U);
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top