소수점 이하 12 자리의 부동 소수점 값을 저장할 때 고정 소수점 이하 자릿수가 표시됩니다. 가비지 값이면 다른 컴파일러에 대해 달라야하지만 출력을 보았을 때 내 책과 그것을 실제로 시도 그들은 모두 같은 결과입니다.고정 값을 표시하는 부동 소수점 값
#include <stdio.h>
int main(void)
{
float a = 1.234567890000;
printf("%.12f\n", a);
return 0;
}
OUTPUT : 이들 비트 부호, 지수 및 "유효 숫자"(값의 주요 부분) 사이에서 분할하여 (대부분의 시스템에서)
1.234567880630 // In my book it also represents same output.
무엇이 질문입니까? 출력이 입력 내용과 일치하지 않는 이유는 무엇입니까? 왜냐하면 10 진수로 입력을주고 있기 때문입니다. 그러나 컴퓨터는 그것을 기본 2로 저장하고 있기 때문에 소수점 12 자리를 모두 정확하게 얻을 수있는'float'의 해상도가 충분하지 않습니다. –
'double' 리터럴로 시작하여 저장을 위해'float'로 변환 한 다음 인쇄를 위해 다시'double'으로 변환합니다. –