변수 타입 관련
글쓴이: asleea / 작성시간: 수, 2012/09/05 - 7:58오후
수학적으로는 제곱이 항상 양수이지만 시언어에서는 음수가 나올수 있다는 내용을 설명하면서
int 형은 표현가능한 범위를 넘어가면 음수가 나오나 float double은 아무리 큰수를 넣어도 양수가 나온다고 하더군요
그런데 생각에 float나 double도 표현가능한 범위가 있는데 왜 그럴까 해서 직접 큰수룰 넣고 돌려보니 컴파일시 너무 큰값을
입력했다는 경고가 뜨고 결과는 양수이긴하나 이상한 값이 나오더군요. 왜 그러는건지
Forums:
C 언어 책이나 블로그들 찾아보시면 좋은 설명이 있을
간단한 답변이었으나 정확하게 쓴 것 같지 않아 자꾸 보게 되는 군요..
다른 분이 답변하신 것 참고하십시오.
Thanks for being one of those who care for people and mankind.
I'd like to be one of those as well.
실수 형은 지수부와 가수부로 나누어지는데, 가수부의
실수 형은 지수부와 가수부로 나누어지는데, 가수부의 크기로 유효숫자의 개수가 결정되고 지수부의 크기로 숫자 자체의 범위가 결정됩니다.
double 형의 경우는 가수부에서 유효숫자 15개(10진수) 정도만을 나타낼 수 있는데 더 많은 유효숫자는 잘려 없어지지만 앞에 유효숫자들은 항상 정확하죠. 반면에 가수부에서 나타낼 수 있는 숫자의 범위가 넘어가면 제대로 처리되지가 않을 것입니다.
댓글 달기