C로 작성된 프로젝트를 상속했습니다.이 프로젝트는 GNU 다중 정밀도 산술 라이브러리의 다중 정밀도 부동 소수점 숫자에 매핑 된 실수 유형을 사용합니다 GMP).바이트를 얻는 방법 GMP를 사용하여 C에서 정의 된 실수 타입 번호 부분을 계산합니다
런타임, 이것은 실수 형의 바이트 수를 테스트하기 위해 I 실행할 수
printf("Storage size for Real type: %d bytes\n", sizeof(Real));
는 24 바이트, 즉 192 개 비트를 준다.
이
#define REAL_EPSILON 1e-24
#define REAL_FORMAT "% 25.24Fe"
#define REAL_IOTA 1e-96
#define REAL_PRECISION 128
사람이이 라인에 어떤 빛을 흘릴 수 :
그러나, 또한 클래스를 정의 파일은 다음과 선이? 특히 마지막 줄에 128 비트 또는 16 바이트가 소수의 소수 부분에 대한 바이트 수로 표시되는지 여부에 대해 우려하고 있습니다.
즉, 가수는 16 바이트이지만, '실제'구조에는 지수와 부호, 그리고 다른 것들도 포함됩니다. 그것들은 다른 8 바이트입니다. – Barmar
@ Barnar : 내가 너를 이해할 수있게 해준다. 16 바이트가 10 진수라고 생각하는 것이 본질적으로 옳은가? –
예, 그렇게 생각합니다. 확실히 알고 싶으면 소스 코드를 확인하고'Real'에 대한 구조체 선언을보십시오. – Barmar