반응형
일반적으로 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 |
반응형
'C언어 \ C++' 카테고리의 다른 글
[C언어] C언어 함수 만들기, 함수 구조, 함수 템플릿, 함수 작동 순서 (0) | 2022.01.25 |
---|---|
[C언어] 자료형 변환 시켜 계산하기 (강제로 자료형 변환시키기) (0) | 2022.01.25 |
[C언어] C언어 배열(array) 반복문(for문)으로 모두 출력하기 (0) | 2022.01.23 |
[C언어] C언어 야구게임 예제 코드 (0) | 2022.01.16 |
[C언어] C언어 입력시 발생한 버퍼(buffer) 비우기. fputs, fgets 함수 사용. (0) | 2022.01.12 |