긴 - 시간 사용자, 여기에 처음으로 포스터. 비슷한 질문을했지만 아무것도 찾을 수 없었습니다.#define에서 고정 수식을 사용하는 경우 숫자를 사용하는 것보다 효율적이지 않습니까?
Keil μVision의 C로 작성된 Cortex-M3의 일부 기존 코드를 통해 작업하고 있습니다.
ADC에서 값을 기록하는 함수에서 비트를 다시 볼트로 변환하는 데 배율 인수가 사용됩니다.
내 질문은 헤더 파일에 정의 된 배율, 중심으로 돌아 가지 :
#define INPUT_VALUE_MAX (uint16_t)((1<<12)-1)
간단히 수행합니다
#define INPUT_VALUE_MAX (uint16_t)4095
:
#define INPUT_VALUE_MAX (uint16_t)((1<<12)-1)
보다 처리 시간이 더 걸릴?
누구든지 제공 할 수있는 도움에 미리 감사드립니다!
사용 된 컴파일러에 따르면 최적화를 위해 두 번째와 같이 첫 번째를 다시 작성하므로 동일하다고 생각합니다. –
(거의?) 모든 컴파일러는 컴파일 타임에 상수를 평가하고 코드에 '4095'를 붙입니다. – TripeHound
Brilliant! 귀하의 신속하고 유용한 답변에 감사드립니다. –