c / c++에서 루트구하기 : sqrt함수
헤더파일 :
c : #include <math.h>
c++ : #include <cmath>
ex)
int x=9;
int y=sqrt(x);
>>y는 3이 저장된다.
함수 원형 :
c언어 :
double sqrt(double x) (=> 즉, 인수로 int를 넣으면 double로 형변환, 반환값을 int y로 받으면 int로 형변환 된다. 맞나?)
c++ :
double sqrt(doube x)
float sqrt(float x)
long double sqrt(long double x)
ㄴ(함수 오버로딩으로 받는 인수, 반환형만 다르고 이름은 같게 해서 다른 함수를 정의함)
** sqrt : square root (제곱근)
예시 :
sqrt(10)을 한다면 ->
int main(void) {
double x = 10;
double y = sqrt(x);
printf("sizeof : %zu bite, value : %lf", sizeof(y),y);
return 0;
}
>> sizeof : 8 bite, value : 3.162278 이래 나온다. 소수점으로
**
sqrt에서 인수로 음수를 넣었을 때, 여러가지 오류들(C언어)
double sqrt(double x) 에서 ,
int x = -10;
double y = sqrt(x); //or double x = -10;
printf("sizeof : %zu bite, value : %d", sizeof(y),y);
>>sizeof : 8 bite, value : 0
double x = -10;
double y = sqrt(x);
printf("sizeof : %zu bite, value : %lf", sizeof(y),y); //<-요기가 %d->%lf로 다름
>>sizeof : 8 bite, value : -nan(ind)
(-nan(ind) : (숫자가 아님, nan: Not a Number, '실수 체계에서 나올 수 없는 값 ))
int x = -10;
int y = sqrt(x);
printf("sizeof : %zu bite, value : %d", sizeof(y),y);
>>sizeof : 4 bite, value : -2147483648
'c++' 카테고리의 다른 글
[c++] STL - 컨테이너 - vector (0) | 2023.02.20 |
---|---|
[C++] 내림 함수(floor), 올림 함수(ceil) (0) | 2023.02.20 |
[c++] 동적 배열의 크기를 구할 수 있을까? (0) | 2023.02.18 |
[c++] * 배열 정리 (0) | 2023.02.18 |
[c++] c++제곱 연산 (0) | 2023.02.18 |