C++ 숫자
보통 숫자를 사용해야 할 때는 int, short, long, float, double 등과 같은 기본 데이터 유형을 사용합니다. 숫자에 대한 이러한 데이터 유형, 가능한 값 및 값 범위는 C++ 데이터 유형 장에서 논의되었습니다.
C++ 숫자 정의
이전 장에서 이미 다양한 사례에서 숫자를 정의했습니다. 다음은 C++에서 다양한 유형의 숫자를 정의하는 포괄적인 예입니다.
#include <iostream> using namespace std; int main () { // 数字定义 short s; int i; long l; float f; double d; // 数字赋值 s = 10; i = 1000; l = 1000000; f = 230.47; d = 30949.374; // 数字输出 cout << "short s :" << s << endl; cout << "int i :" << i << endl; cout << "long l :" << l << endl; cout << "float f :" << f << endl; cout << "double d :" << d << endl; return 0; }
위 코드를 컴파일하고 실행하면 다음과 같은 결과가 생성됩니다.
short s :10 int i :1000 long l :1000000 float f :230.47 double d :30949.4
C++ 수학 연산
C++에서는 다양한 함수를 만들 수 있을 뿐만 아니라 에는 사용할 수 있는 다양하고 유용한 기능도 포함되어 있습니다. 이러한 함수는 표준 C 및 C++ 라이브러리로 작성되었으며 내장함수라고 합니다. 프로그램에서 이러한 함수를 참조할 수 있습니다.
C++에는 다양한 숫자에 대한 연산을 수행할 수 있는 다양한 수학 함수가 내장되어 있습니다. 다음 표에는 C++에 내장된 몇 가지 유용한 수학 함수가 나열되어 있습니다.
이러한 기능을 활용하려면 수학 헤더 파일 <cmath>을 참조해야 합니다.
일련번호 | 함수 및 설명 |
---|---|
1 | double cos(double); 이 함수는 라디안 각도(이중 유형)의 코사인을 반환합니다. |
2 | double sin(double); 이 함수는 각도의 사인을 라디안 단위로 반환합니다(이중 유형). |
3 | double tan(double); 이 함수는 각도의 탄젠트를 라디안 단위로 반환합니다(이중 유형). |
4 | double log(double); 이 함수는 매개변수의 자연 로그를 반환합니다. |
5 | double pow(double, double); 첫 번째 매개변수가 x이고 두 번째 매개변수가 y라고 가정하면 함수는 x의 y제곱을 반환합니다. |
6 | double hypot(double, double); 이 함수는 두 매개변수의 제곱합의 제곱근을 반환합니다. 즉, 매개변수가 두 개의 직각 변인 경우입니다. 직각 삼각형의 경우 이 함수는 빗변 길이를 반환합니다. |
7 | double sqrt(double); 이 함수는 인수의 제곱근을 반환합니다. |
8 | int abs(int); 이 함수는 정수의 절대값을 반환합니다. |
9 | double fabs(double); 이 함수는 모든 십진수의 절대값을 반환합니다. |
10 | double floor(double); 이 함수는 전달된 인수보다 작거나 같은 가장 큰 정수를 반환합니다. |
다음은 수학 연산의 간단한 예입니다.
#include <iostream> #include <cmath> using namespace std; int main () { // 数字定义 short s = 10; int i = -1000; long l = 100000; float f = 230.47; double d = 200.374; // 数学运算 cout << "sin(d) :" << sin(d) << endl; cout << "abs(i) :" << abs(i) << endl; cout << "floor(d) :" << floor(d) << endl; cout << "sqrt(f) :" << sqrt(f) << endl; cout << "pow( d, 2) :" << pow(d, 2) << endl; return 0; }
위 코드를 컴파일하고 실행하면 다음과 같은 결과가 생성됩니다.
sign(d) :-0.634939 abs(i) :1000 floor(d) :200 sqrt(f) :15.1812 pow( d, 2 ) :40149.7
C++ 난수
많은 경우 난수를 생성해야 합니다. 난수 생성기와 관련하여 두 가지 관련 기능이 있습니다. 하나는 의사 난수를 반환하는 rand()입니다. srand() 함수는 난수를 생성하기 전에 호출되어야 합니다.
다음은 난수 생성의 간단한 예입니다. 예제에서는 time() 함수를 사용하여 시스템 시간의 초를 가져오고 rand() 함수를 호출하여 난수를 생성합니다.
#include <iostream> #include <ctime> #include <cstdlib> using namespace std; int main () { int i,j; // 设置种子 srand( (unsigned)time( NULL ) ); /* 生成 10 个随机数 */ for( i = 0; i < 10; i++ ) { // 生成实际的随机数 j= rand(); cout <<"随机数: " << j << endl; } return 0; }
위 코드를 컴파일하고 실행하면 다음과 같은 결과가 생성됩니다. 다음 결과:
随机数: 1748144778 随机数: 630873888 随机数: 2134540646 随机数: 219404170 随机数: 902129458 随机数: 920445370 随机数: 1319072661 随机数: 257938873 随机数: 1256201101 随机数: 580322989