C에서 정수 및 부동 소수점 숫자를 사용하는 방법#
이 자습서에서는 C#의 숫자 형식에 대해 설명합니다. 소량의 코드를 작성한 다음, 해당 코드를 컴파일하고 실행합니다. 이 자습서에는 C#에서 숫자 및 수학 연산을 탐색하는 일련의 단원이 포함되어 있습니다. 이러한 단원에서는 C# 언어의 기본 사항을 설명합니다.
팁
코드 조각 블록에 "실행" 단추가 포함된 경우 해당 단추는 대화형 창을 열거나 대화형 창의 기존 코드를 바꿉니다. 코드 조각에 "실행" 단추가 포함되지 않은 경우 코드를 복사하여 현재 대화형 창에 추가할 수 있습니다.
정수 수학 탐색
대화형 창에서 다음 코드를 실행합니다.
int a = 18;
int b = 6;
int c = a + b;
Console.WriteLine(c);
앞의 코드는 정수가 있는 기본 수학 연산을 보여 줍니다.
int
형식은 양의 정수 또는 음수인 정수나타냅니다. 더하기 위해 +
기호를 사용합니다. 정수에 대한 기타 일반적인 수학 연산은 다음과 같습니다.
- 빼기를 위한
-
- 곱셈을 위한
*
- 나누기
/
먼저 이러한 다양한 작업을 탐색합니다. 이러한 각 작업을 시도하도록 세 번째 줄을 수정합니다. 예를 들어 빼기를 시도하려면 다음 줄과 같이 +
-
바꿉다.
int c = a - b;
사용해 보세요. "실행" 단추를 선택합니다. 그런 다음 곱하기, *
및 나누기, /
시도합니다. 원하는 경우 동일한 줄에 여러 수학 연산을 작성하여 실험할 수도 있습니다.
팁
C# 또는 프로그래밍 언어를 탐색할 때 코드를 작성할 때 실수를 합니다. 컴파일러 해당 오류를 찾아 보고합니다. 출력에 오류 메시지가 포함된 경우 예제 코드와 대화형 창의 코드를 자세히 확인하여 해결 방법을 확인합니다. 이 연습은 C# 코드의 구조를 학습하는 데 도움이 됩니다.
작업 순서 살펴보기
C# 언어는 수학에서 배운 규칙과 일치하는 규칙을 사용하여 다양한 수학 연산의 우선 순위를 정의합니다. 곱하기와 나누기는 더하기와 빼기보다 우선합니다. 대화형 창에서 다음 코드를 실행하여 탐색합니다.
int a = 5;
int b = 4;
int c = 2;
int d = a + b * c;
Console.WriteLine(d);
출력은 덧셈보다 곱셈이 먼저 수행됨을 보여 줍니다.
먼저 수행하려는 작업 주위에 괄호를 추가하여 다른 연산 순서를 적용할 수 있습니다. 대화형 창에 다음 줄을 추가합니다.
d = (a + b) * c;
Console.WriteLine(d);
다양한 작업을 결합하여 자세히 살펴봅니다. 앞의 코드에서 네 번째 줄을 다음과 같이 바꿉다.
d = (a + b) - 6 * c + (12 * 4) / 3 + 12;
Console.WriteLine(d);
정수에 대한 흥미로운 동작을 확인할 수 있습니다. 정수 나누기는 소수나 분수 부분이 예상되더라도 항상 정수 결과를 산출합니다.
다음 코드를 사용해 보세요.
int a = 7;
int b = 4;
int c = 3;
int d = (a + b) / c;
Console.WriteLine(d);
정수 정밀도 및 제한 살펴보기
마지막 샘플에서는 정수 나누기에서 결과가 잘리는 것으로 나타났습니다.
나머지 연산자인 %
문자를 사용하여 나머지 가져올 수 있습니다.
int a = 7;
int b = 4;
int c = 3;
int d = (a + b) / c;
int e = (a + b) % c;
Console.WriteLine($"quotient: {d}");
Console.WriteLine($"remainder: {e}");
C# 정수 형식은 다른 한 가지 방법으로 수학 정수와 다릅니다. int
형식에는 최소 및 최대 제한이 있습니다. 다음 코드를 사용하여 이러한 제한을 확인합니다.
int max = int.MaxValue;
int min = int.MinValue;
Console.WriteLine($"The range of integers is {min} to {max}");
계산 결과가 해당 한계를 초과하는 값을 생성하는 경우, 언더플로 상태 또는 오버플로 상태가 발생합니다. 대답은 한계에서 다른 한계로 넘어가는 것처럼 보입니다. 예를 보려면 대화형 창에 다음 두 줄을 추가합니다.
int what = max + 3;
Console.WriteLine($"An example of overflow: {what}");
답변은 최소(음수) 정수에 매우 가깝습니다.
min + 2
와 동일합니다. 정수에 허용되는 값을 넘어서 추가 작업이 오버플로되었습니다. 오버플로우로 인해 가능한 가장 큰 정수 값에서 가장 작은 값으로 반대로 돌아가기 때문에 결과는 큰 음수입니다.
int
형식이 요구 사항을 충족하지 않을 때 사용할 수 있는 제한 및 정밀도가 다른 다른 숫자 형식이 있습니다. 다음으로 이러한 유형의 숫자를 살펴보겠습니다.
double 형식으로 작업
double
숫자 형식은 배정밀도 부동 소수점 숫자를 나타냅니다. 이러한 용어는 새로운 용어일 수 있습니다.
부동 소수점 숫자는 크기가 크거나 작을 수 있는 비통합 숫자를 나타내는 데 유용합니다.
배정밀도 값을 저장하는 데 사용되는 이진 자릿수를 설명하는 상대 용어입니다.
배정밀도 숫자는 단정밀도두 배의 이진 자릿수를 가집니다. 최신 컴퓨터에서는 단정밀도 숫자보다 배정밀도를 사용하는 것이 더 일반적입니다.
단정밀도 숫자는 float
키워드를 사용하여 선언됩니다. 살펴보겠습니다. 다음 코드를 실행하고 결과를 확인합니다.
double a = 5;
double b = 4;
double c = 2;
double d = (a + b) / c;
Console.WriteLine(d);
답변에는 몫의 소수 부분이 포함됩니다. double을 사용하여 약간 더 복잡한 식을 사용해 보세요. 다음 값을 사용하거나 다른 숫자를 대체할 수 있습니다.
double a = 19;
double b = 23;
double c = 8;
double d = (a + b) / c;
Console.WriteLine(d);
이중 값의 범위가 정수 값보다 큽다. 대화형 창에서 다음 코드를 사용해 보세요.
double max = double.MaxValue;
double min = double.MinValue;
Console.WriteLine($"The range of double is {min} to {max}");
이러한 값은 과학적 표기법으로 인쇄됩니다.
E
앞의 숫자는 중요합니다.
E
뒤의 숫자는 지수(10의 힘)입니다.
수학의 10진수와 마찬가지로 C#의 doubles에는 반올림 오류가 있을 수 있습니다. 다음 코드를 사용해 보세요.
double third = 1.0 / 3.0;
Console.WriteLine(third);
0.3
은 3/10
이며 1/3
와 정확히 같지 않다는 것을 알고 있습니다. 마찬가지로 0.33
는 33/100
이다. 이 값은 1/3
더 가깝지만 정확한 값은 아닙니다. 추가하는 소수 자릿수에 관계없이 반올림 오류는 그대로 유지됩니다.
챌린지
double
형식을 사용하여 큰 숫자, 작은 숫자, 곱하기 및 나누기를 사용하여 다른 계산을 시도합니다. 더 복잡한 계산을 시도합니다.
10진수 형식 사용
학습해야 할 다른 한 가지 유형은 decimal
형식입니다.
decimal
형식은 범위는 작지만 double
보다 정밀도가 더 높습니다. 다음을 살펴보겠습니다.
decimal min = decimal.MinValue;
decimal max = decimal.MaxValue;
Console.WriteLine($"The range of the decimal type is {min} to {max}");
범위가 double
형식보다 작은지 확인합니다. 소수점 형식보다 더 높은 정밀도를 다음 코드로 확인할 수 있습니다.
double a = 1.0;
double b = 3.0;
Console.WriteLine(a / b);
decimal c = 1.0M;
decimal d = 3.0M;
Console.WriteLine(c / d);
소수점 형식을 사용하는 수학은 소수점 오른쪽에 더 많은 숫자를 가짐을 확인합니다.
숫자의 M
접미사는 상수가 decimal
형식을 사용해야 함을 나타내는 방법입니다. 그렇지 않으면 컴파일러는 double
형식을 가정합니다.
메모
M
문자는 double
키워드와 decimal
키워드 간에 가장 시각적으로 구별되는 문자로 선택되었습니다.
챌린지
반지름이 2.50cm인 원의 영역을 계산하는 코드를 작성합니다. 원의 영역은 PI를 곱한 반경 제곱입니다. 한 가지 힌트: .NET에는 해당 값에 사용할 수 있는 PI Math.PI 상수가 포함되어 있습니다.
System.Math
네임스페이스에 선언된 모든 상수와 마찬가지로 Math.PIdouble
값입니다. 이러한 이유로 이 챌린지에 decimal
값 대신 double
사용해야 합니다.
19에서 20 사이의 답변을 받아야합니다.
시도하면 세부 정보 창을 열어 어떻게 했는지 확인합니다.
원하는 경우 다른 수식을 사용해 보세요.
"C#의 숫자" 대화형 자습서를 완료했습니다. 분기 및 루프 링크를 선택하여 다음 대화형 자습서를 시작하거나 .NET 사이트 방문하여 .NET SDK를 다운로드하고, 머신에 프로젝트를 만들고, 코딩을 계속할 수 있습니다. "다음 단계" 섹션에서는 이러한 자습서로 돌아갑니다.
다음 문서에서 C#의 숫자에 대해 자세히 알아볼 수 있습니다.
.NET