C/C에 표준 부호 기능이 있나요?
질문:
I 음수의 경우 -1, 양수의 경우 1을 출력하는 함수를 찾고 있습니다. 단순함에도 불구하고 이 기능은 어딘가의 표준 라이브러리에서 사용할 수 있을 것으로 생각됩니다. 특히, float 데이터 유형에서 작동하는 함수가 필요합니다.
답변:
예, 이러한 목적을 수행하는 표준 C 함수인 signum이 있습니다. 그러나 이 함수는 유형이 안전하다는 점에 유의하는 것이 중요합니다. 즉, 부동 소수점뿐만 아니라 다양한 데이터 유형에 대해 작동할 수 있다는 의미입니다. 다음은 signum의 일반 구현입니다.
template <typename T> int sgn(T val) { return (T(0) < val) - (val < T(0)); }
이 함수는 사용자 정의 구현에 비해 여러 가지 장점을 제공합니다.
사용:
int sign = sgn(-1.5); // -1 sign = sgn(0.0); // 0 sign = sgn(3.14); // 1
주의사항:
결론적으로 signum 함수는 C에서 숫자의 부호를 결정하기 위한 다양하고 효율적인 솔루션을 제공합니다. 표준 라이브러리의 부동 소수점에 직접 사용할 수는 없지만 유형이 안전한 구현을 통해 광범위한 데이터 유형에서 놀라운 정확도로 사용할 수 있습니다.
위 내용은 C/C에는 부동 소수점 숫자에 대한 표준 부호 기능이 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!