.NET Core-숫자

.NET Core는 표준 숫자 정수 및 부동 소수점 프리미티브를 지원합니다. 또한 다음 유형을 지원합니다-

  • System.Numerics.BigInteger는 상한 또는 하한이없는 정수 형식입니다.

  • System.Numerics.Complex는 복소수를 나타내는 형식입니다.

  • System.Numerics 네임 스페이스의 SIMD (Single Instruction Multiple Data) 사용 벡터 유형 집합입니다.

일체형

.NET Core는 길이가 1 바이트에서 8 바이트까지 다른 범위의 부호있는 정수와 부호없는 정수를 모두 지원합니다. 모든 정수는 값 유형입니다.

다음 표는 정수 유형과 크기를 나타냅니다.

유형 서명 됨 / 서명되지 않음 크기 (바이트) 최소값 최대 가치
바이트 서명되지 않음 1 0 255
Int16 서명 됨 2 −32,768 32,767
Int32 서명 됨 4 −2,147,483,648 2,147,483,647
Int64 서명 됨 8 −9,223,372,036,854,775,808 9,223,372,036,854,775,807
SByte 서명 됨 1 -128 127
UInt16 서명되지 않음 2 0 65,535
UInt32 서명되지 않음 4 0 4,294,967,295
UInt64 서명되지 않음 8 0 18,446,744,073,709,551,615

각 정수 유형은 산술, 비교, 같음, 명시 적 변환 및 암시 적 변환 연산자의 표준 집합을 지원합니다.

System.BitConverter 클래스를 사용하여 정수 값의 개별 비트로 작업 할 수도 있습니다.

부동 소수점 유형

.NET Core에는 다음 표에 나와있는 세 가지 기본 부동 소수점 유형이 포함되어 있습니다.

유형 크기 (바이트) 최소값 최대 가치
더블 8 −1.79769313486232e308 1.79769313486232e308
단일 4 −3.402823e38 3.402823e38
소수 16 −79,228,162,514,264,337,593,5 43,950,335 79,228,162,514,264,337,593,543,9 50,335
  • 각 부동 소수점 유형은 산술, 비교, 같음, 명시 적 변환 및 암시 적 변환 연산자의 표준 집합을 지원합니다.

  • BitConverter 클래스를 사용하여 Double 및 Single 값의 개별 비트로 작업 할 수도 있습니다.

  • Decimal 구조체에는 10 진수 값의 개별 비트로 작업하기위한 자체 메서드 인 Decimal.GetBits 및 Decimal.Decimal (Int32 ())과 몇 가지 추가 수학 연산을 수행하기위한 자체 메서드 집합이 있습니다.

BigInteger

  • System.Numerics.BigInteger는 이론상 값에 상한 또는 하한이없는 임의의 큰 정수를 나타내는 변경 불가능한 형식입니다.

  • BigInteger 유형의 메소드는 다른 정수 유형의 메소드와 거의 유사합니다.

복잡한

  • System.Numerics.Complex 유형은 복소수, 즉 실수 부분과 허수 부분이있는 숫자를 나타냅니다.

  • 산술, 비교, 같음, 명시 적 변환 및 암시 적 변환 연산자의 표준 세트와 수학, 대수 및 삼각법을 지원합니다.

SIMD

  • Numerics 네임 스페이스에는 .NET Core 용 SIMD 사용 벡터 형식 집합이 포함됩니다.

  • SIMD를 사용하면 일부 작업을 하드웨어 수준에서 병렬화 할 수 있으므로 벡터를 통해 계산을 수행하는 수학적, 과학 및 그래픽 앱의 성능이 크게 향상됩니다.

  • .NET Core의 SIMD 지원 벡터 유형에는 다음이 포함됩니다.

    • System.Numerics.Vector2, System.Numerics.Vector3 및 System.Numerics.Vector4 유형은 Single 유형의 2, 3 및 4 차원 벡터입니다.

    • 모든 기본 숫자 유형의 벡터를 생성 할 수있는 Vector <T> 구조입니다. 기본 숫자 유형에는 Decimal을 제외한 시스템 네임 스페이스의 모든 숫자 유형이 포함됩니다.

    • 2 개의 매트릭스 유형, System.Numerics.Matrix3x2는 3x2 매트릭스를 나타냅니다. 및 System.Numerics.Matrix4x4는 4x4 행렬을 나타냅니다.

    • 3 차원 평면을 나타내는 System.Numerics.Plane 형식과 3 차원 물리적 회전을 인코딩하는 데 사용되는 벡터를 나타내는 System.Numerics.Quaternion 형식입니다.