긴 이중 리터럴의 C++ 접미사는 무엇입니까?
C++(및 C)에서 접미사가 없는 부동 소수점 리터럴은 기본적으로 double
, 접미사 f
는 float
. 그러나 접미사는 무엇 long double
입니까?
나도 모르는 사이에 나는 다음과 같이 정의할 것이다.
const long double x = 3.14159265358979323846264338328;
그러나 내 걱정은 변수 x
에 3.14159265358979323846264338328
64보다 적은 유효 비트가 포함되어 있다는 것 double
입니다. 이것은 리터럴 이기 때문 입니다. 이 걱정이 정당한가?
C++ 표준에서
접미사에 의해 명시적으로 지정되지 않는 한 부동 리터럴의 유형은 이중입니다. 접미사 f 및 F는 float를 지정하고 접미사 l 및 L은 long double을 지정합니다.
C 표준의 해당 단락과 비교하는 것은 흥미롭습니다. C에서는 C ++ floating constant
대신에 사용된 용어가 있습니다 floating literal
.
4 접미사가 없는 부동 상수의 유형은 double입니다. 접미사가 f 또는 F이면 float 유형입니다. 문자 l 또는 L이 접미사이면 유형이 long double입니다.
C 접미사는 L
. 나는 그것이 C ++에서도 동일하다고 강력히 의심합니다.
당신의 걱정은 정당합니다. 리터럴은 먼저 a 로 변환 double
되어 잘린 다음 다시 long double
.
귀하의 우려는 유효하며 L
긴 이중 리터럴에 접미사를 사용해야 합니다 .
ReferenceURL : https://stackoverflow.com/questions/21557816/whats-the-c-suffix-for-long-double-literals
'IT이야기' 카테고리의 다른 글
IE 10 및 11에서 마우스 휠로 스크롤할 때 고정된 배경이 점프합니다. (0) | 2021.09.14 |
---|---|
시스템 테스트와 종단 간 테스트의 차이점 (0) | 2021.09.14 |
Java 8 날짜-시간: ZonedDateTime에서 시작하기 (0) | 2021.09.13 |
node.js에서 예기치 않은 예약어 가져오기 (0) | 2021.09.13 |
VSTS를 사용하는 ASP.NET Core Web API의 CI/CD (0) | 2021.09.13 |