CPP_어소_4_실수형 자료형

CJB_ny·2022년 4월 23일
0

CPP_AROTHO

목록 보기
2/83
post-thumbnail
post-custom-banner

실수형은 정수형이랑 연산 방식이 완전 다르다.


변수라는 것을 만들 때에

이 변수가 어떤 녀석인지 수식해주는 자료 타입을 결정을 해주면서

변수의 이름을 지어 주는 것이다.


자료형에

정수형, 실수형을 나누는 이유는

"처리"하는 방식이 "완전히"달라서이다.

"정수형"은 각각의 숫자들을 이진수로 비트의 값을 채워가면서 보는것이다.

=> 표현할 수 있는 경우의 수가 한정적.

4랑 4.0이랑 표현 방식이 완전히 다르다.

이럴경우 정수 = 정수 + 실수 인데

실수를 정수로 바꾸는 연산 == 형변환이 들어간다음에

실수인 4.0을 정수 4로 형변환 해서 더하는 것이다.

그래서 의도치 않게 연산이 한번 더 들어가기 때문에

의도하지 않은 정수 + 실수는 피해야한다.

십진수 21.8125가 왜 이진수로 저래 되는지 보자.

이진수 기준

0.1은 10진수로 예를들면 0.5 == 2^-1일것이고

0.11 의 0.01은 2^-2승일 것이다.

0.8125는

이렇게 일단된다.

이런 소수를 표현하려면

가수 부분이 모자랄 수 있어서 8바이트인 double이 더 미세한 소수 표현 가능하다.


나중에 프로그램짤 때 실수의 "정밀도"부분을 생각을 못해서 에러가 나는 경우가 많다.

실수는 거의 "근사값"을 보여?주기 때문에...

정리

  • 정수 표현 방식과 실수 표현 방식은 다르다.

  • 실수 표현 방식은 "정밀도"에 의존한다.

  • 따라서 double(8) 자료형이 float(4) 보다 더 아래의 소수점까지 정확하게 표현이 가능하다.

  • 정수는 정수끼리, 실수는 실수끼리 연산하되, 두 표현 방식의 피 연산자가 연산이 될 경우 명시적으로 "변환"하자.

이렇게 명시적으로 "변환"해주어야 한다는 것이다.

profile
https://cjbworld.tistory.com/ <- 이사중
post-custom-banner

0개의 댓글