반응형

실수 형식 3

실수 형식 표현 범위, FLT_MIN, FLT_MAX, FLT_TRUE_MIN [언제나 C언어]

소스 코드 /* http://ehpub.co.kr 언제나 C언어 실수 형식 표현 범위 */ #include //표준 입출력 헤더 #include typedef union { float value; struct { unsigned mantissa : 23; unsigned exponent : 8; unsigned sign : 1; }sv; }Test; int main(void) { Test test = { 0 }; test.sv.exponent = 1; test.sv.mantissa = 1; printf("%.50f\n", test.value); printf("%.50f\n", FLT_MIN); test.sv.exponent = 0; printf("%.50f\n", test.value); printf("%..

[C언어 소스] 실수 형식 메모리 구조 확인하기

[C언어 소스] 실수 형식 메모리 구조 확인하기 #include //union은 내부 멤버 중에 제일 큰 멤버 크기의 메모리를 할당합니다. typedef union { float value; //4바이트 struct { unsigned exponent:23; //23비트 unsigned mantissa:8; //8비트 unsigned sign:1; //1비트 }sv; //4바이트 unsigned iv;//4바이트 }test; int main(void) { test t; t.value = -13.625; printf("부호부:%u\n",t.sv.sign); //%u는 부호없는 정수로 출력 printf("지수부:%#x\n",t.sv.mantissa); //%#x는 16진수로 출력하고 앞에 0x 표시 prin..

[C언어 소스] 실수 형식은 오차 범위를 갖는 근사값

[C언어 소스] 실수 형식은 오차 범위를 갖는 근사값 #include int main() { float f = 0.0f; //float 형 변수 f를 선언하고 0.0으로 초기화 f = f+0.1f; //변수 f에 0.1을 더함 printf("%.9f\n",f); //변수 f값을 소수점 이하 9자리까지 출력 f = f+0.1f; //변수 f에 0.1을 더함 printf("%.9f\n",f); //변수 f값을 소수점 이하 9자리까지 출력 f = f+0.1f; //변수 f에 0.1을 더함 printf("%.9f\n",f); //변수 f값을 소수점 이하 9자리까지 출력 return 0; } 실행 결과0.100000001 0.200000003 0.300000012 본문[디딤돌 C언어] 19. 실수는 근사치

반응형