반응형

일반적으로 C언어에서의 소수점 자료형 표현은 float와 double을 쓴다.

그런데 크기는 float가 작고, double이 크다. 다시말해 double이 표현할 수 있는 소수점 자리가 많다. (double > float)

 

그러나 기본적으로 소수점을 아래와 같이 입력하면, 컴파일러는 숫자를 자료형 double로 인식한다.

그러면 연산에 문제가 있다. C언어는 서로 같은 자료형끼리만 연산이 가능하다. (int는 int끼리, char는 char끼리 등등)

하지만 위 연산은 그냥 숫자를 입력하면 해당 숫자는 기본적으로 double 형태의 자료형이 입력된다.

실행하면 아래와 같은 에러를 띄운다.

에러 메세지

그렇다면 내가 저장할 변수의 자료형을 float로 했으니, 계산할 값들도 역시 float값을 넣어야 한다.

그러면 숫자 뒤에 f 또는 F를 넣으면 해당 숫자가 자료형이 double이 아닌 float가 된다.

#include <stdio.h>

int main(void)
{
	float num1 = 5.789f;
	float num2 = 3.24F + 5.12f;


	return 0;
}

위처럼 계산을 하면 이제 에러가 발생하지 않음을 알 수 있다. 서로 같은 자료형이 되기 때문에...

 

그 외 각종 접미사를 통해 자료형을 명확히 지정할 수 있다.

(정수)

접미사 자료형 예시
U unsigned int unsigned int a = 123U
L long long b = 123L
UL unsigned long unsigned long c = 123UL
LL long long long long d = 123LL
ULL unsigned long long unsigned long long e = 123ULL
반응형

(소수)

접미사 자료형 예시
F float float f = 1.23U
L Long double long double g = 1.231L

 

 

 

 

 

반응형

+ Recent posts