C#/데이터 다루기

[C#] 자료형 - 숫자 (int, float, double)

테크러너 2024. 3. 25.

자료형 - 숫자 (int, float, double)

모든 숫자가 int에 저장될 수 있는 것은 아닙니다.

숫자에는 또 정수실수가 있습니다.

 

정수

정수 : 소수점이 없는 숫자

0 , 1, 2, 3, 4 같은 숫자입니다. -1, -2, -3 같은 수도 소수점이 없다면 정수입니다.

나이, 갯수, 레벨 등을 표현할 수 있습니다.

 

int 타입을 사용합니다. (integer)

int age = 15;
int amount = 4;
int level = 100;
 

 

실수

실수 : 소수점이 있는 숫자

0.4, 1.7, 10.4, -5.7 등의 숫자가 실수에 포함됩니다.

경험치, 공격 속도, 길이 등을 표현할 수 있습니다.

 

floatdouble 타입을 사용합니다.

float - 소수점 7 자리까지 표시가능

double - 소수점 15~16 자리까지 표시가능

 

소수점을 더 많이 표시할 수 있는 double 만 쓰면 되지 않을까?

더보기

double 은 float 보다 데이터를 더 정확하게 저장할 수 있습니다. 하지만 그만큼 저장하는데 많은 비용을 소모하게 됩니다.

우리의 컴퓨터와 핸드폰에는 메모리라는 저장 공간이 있습니다.

이 메모리를 저의 지갑이라고 생각하고 10,000원 있다고 생각해보겠습니다.

double과 float 를 이 메모리에 저장하려면 double은 800원, float 는 400원이 필요하게 됩니다.

한정된 돈을 가지고 많은 일을 하려면 비용을 알맞게 계획해야 합니다.

생각해보면 지금까지 살아오면서 소수점 10자리가 넘는 숫자를 사용한 일이 얼마나 있을까요?

마찬가지로 개발할 때도 필요한 경우가 특별한 경우가 아니면 일단은 저렴한 float 위주로 사용하시면 됩니다.

 

실수의 표현

float exp = 56.5f;
float speed = 3.2f;
double lenght = 10.245d;
 

데이터 뒤쪽 보시면 숫자 뒤에 f 혹은 d 를 입력한 것을 볼 수 있습니다.

 

1을 표현할 때 아래와 같이 표시하는데,

1   <- 숫자
"1" <- 문자
 

이렇게 표시되는 이유는 컴퓨터 입장에서는 1이라고만 써있으면 이 숫자가 어떻게 사용되려고 하는지 알수 없기 때문입니다.

따라서 이처럼 타입마다 특별한 표시는 붙이는 경우가 있습니다.

문자의 경우는 “” 를 붙여서 사용했습니다.

 

마찬가지로 소수점 1.1 을 사용하려고 할때 컴퓨터는 이게 float 를 사용하려고 하는지 double을 사용하려고 하는지 알 수 없습니다.

따라서 float 로 사용하고 싶다면 f

double 로 사용하고 싶다면 d 를 숫자뒤에 붙여서 표시해줍니다.

단 아무런 표시가 없다면 double 로 인식합니다.

 

float exp = 56.5f;   정상 - float 변수에 float 데이터를 저장
float speed = 56.5;  에러 - float 변수에 double 데이터를 저장
 
double exp = 56.5d;   정상 - double 변수에 double 데이터를 저장
double speed = 56.5;  정상 - double 변수에 double 데이터를 저장
 

 

 

반응형

'C# > 데이터 다루기' 카테고리의 다른 글

[C#] Console.WriteLine() / Console.ReadLine()  (0) 2024.03.25
[C#] 형변환  (0) 2024.03.25
[C#] 자료형 - 정리표  (0) 2024.03.25
[C#] 자료형 - 문자열과 문자 (string, char)  (0) 2024.03.25
[C#] 변수  (0) 2024.03.25

댓글