programing

DOUBLE_MAX는 어떻게 받습니까?

goodcopy 2021. 1. 19. 08:05
반응형

DOUBLE_MAX는 어떻게 받습니까?


AFAIK, C는 몇 가지 데이터 유형 만 지원합니다.

int, float, double, char, void enum.

상위 10 자리까지 도달 할 수있는 번호를 저장해야합니다. 나는 낮은 10 자리 숫자를 얻었 기 때문에

INT_MAX

, 나는 더블이 필요하다고 생각합니다.

<limits.h>DOUBLE_MAX가 없습니다. DBL_MAX인터넷에서 이것이 LEGACY이고 C ++ 인 것처럼 보인다는 것을 발견했습니다 . 내가 필요한 것은 두 배입니까? DOUBLE_MAX가없는 이유는 무엇입니까?


DBL_MAX에 정의되어 <float.h>있습니다. <limits.h>유닉스 에서의 가용성은 "(LEGACY)"로 표시됩니다.

(유닉스 태그가 없더라도 유닉스 표준에 연결하면 "LEGACY"표기법을 찾을 수있을 것입니다.하지만 float.h에 대해 표시되는 대부분은 C89로 돌아가는 C 표준에도 있습니다.)


당신은 얻을 정수 에 제한을 <limits.h>하거나 <climits>. 부동 소수점 특성은 <float.h>C 대해 정의되어 있습니다. C ++에서 선호되는 버전은 일반적으로 std::numeric_limits<double>::max()(사용자가 #include <limits>)입니다.

원래 질문과 관련하여보다 큰 정수 유형을 원하면을 long고려해야 long long합니다. 이것은 공식적으로 C ++ 98 또는 C ++ 03에 포함되어 있지 않지만 C99 및 C ++ 11의 일부이므로 합리적으로 현재의 모든 컴파일러에서이를 지원합니다.


표준 float.h 포함 파일에 있습니다. 원하는DBL_MAX


double큰 정수를 저장하는 데 사용 하는 것은 모호합니다. 안정적으로 저장할 수있는 가장 큰 정수 doubleDBL_MAX. 를 사용해야 long long하며, 그것만으로 충분하지 않은 경우, 자체 임의 정밀도 코드 또는 기존 라이브러리가 필요합니다.


float.h헤더를 찾고 있습니다.


INT_MAXlimits.h 의 정의 일뿐 입니다. 정수 또는 부동 소수점 값을 저장해야하는지 명확하지 않습니다. 정수이고 64 비트 컴파일러를 사용하는 경우 LONG( LLONG32 비트의 경우)를 사용합니다.

참조 URL : https://stackoverflow.com/questions/5834635/how-do-i-get-double-max

반응형