복합 데이터 유형

Complex data type

일부 프로그래밍 언어복잡한 숫자 저장 및 산술에 대한 복잡한 데이터 유형을 내장(기본) 데이터 유형으로 제공한다.

일부 프로그래밍 환경에서 (원시 데이터 유형과 대조적으로) 복합 데이터 유형이라는 용어는 복합 데이터 유형의 동의어다.[1][2]

콤플렉스 수 산술

복잡한 변수나 값은 보통 부동 소수점 한 쌍으로 표현된다.복잡한 데이터 유형을 지원하는 언어는 대개 그러한 값을 형성하는 데 특별한 구문을 제공하며, 이에 작용하기 위해 기본 산술 연산('+', '-', '×', '÷'을 확장한다.이러한 작업은 보통 컴파일러에 의해 일련의 부동 소수점 기계 명령이나 라이브러리 호출로 변환된다.이러한 언어는 포맷, 평등 시험 등과 같은 다른 작업에 대한 지원도 제공할 수 있다.수학에서와 같이, 그러한 언어들은 종종 부동소수 값을 상상의 부분이 0인 복잡한 값과 동등한 것으로 해석한다.

언어 지원

  • FORTRAN COMPLEX 유형.[3]
  • C 프로그래밍 언어의 C99 표준은 표준 라이브러리 헤더에 복잡한 데이터 유형과 복잡한 산술 함수를 포함한다.<complex.h>.
  • C++ 표준 라이브러리는complex템플릿 클래스 및 의 복합 산술 함수<complex>머리글
  • Go 프로그래밍 언어에는 기본 제공 유형이 있음complex64(각 구성 요소는 32비트 플로트) 및complex128(각 구성 요소는 64비트 플로트임).
  • 코어 모듈Math:Complex는 복잡한 숫자에 대한 지원을 제공한다.
  • Python은 내장된complex유형. 상상의 수 리터럴은 "j"를 추가하여 지정할 수 있다.표준 라이브러리 모듈에서 복잡한 산술 함수가 제공됨cmath.[4]
  • Ruby는 표준 도서관 모듈 단지Complex 클래스를 제공한다.
  • OCaml은 표준 라이브러리 모듈 Complex로 복잡한 숫자를 지원한다.
  • Haskell은 표준 라이브러리 모듈 데이터로 복잡한 숫자를 지원한다.콤플렉스(이전에는 콤플렉스라고 한다.)
  • Mercurylibcomplex_number를 사용하여 추가 분포에서 전체 연산자 과부하 지원을 포함한 복잡한 숫자를 제공한다.
  • Java에는 표준 복합 번호 클래스가 없지만, 복합 번호 클래스에 대해 호환되지 않는 다수의 자유 구현이 존재한다.
    • Apache Commons Math 라이브러리는 Java의 Complex 클래스와 함께 복잡한 숫자를 제공한다.
    • JScience 라이브러리에는 복합 번호 클래스가 있다.
    • JAS 도서관은 복잡한 숫자의 사용을 허용한다.
    • 넷리브는 자바를 위한 복잡한 숫자 클래스를 가지고 있다.
    • 자바스트콤플렉스는 자바에 대한 복잡한 숫자 지원도 추가한다.
    • jcomplex number는 자바에서 복잡한 수의 구현에 관한 프로젝트다.
    • JLinAlg는 임의의 정밀도로 복잡한 숫자를 포함한다.
  • 공통 LISP:ANSI Common Lisp 표준은 복잡한 수의 부유물, 이성, 임의의 정밀 정수를 지원한다.그것의 기본적인 수학적 함수는 해당하는 경우 복잡한 숫자에 대해 정의된다.예를 들어 -1의 제곱근은 다음과 같은 복잡한 수입니다.
     ? (sqrt -1) C(0 1)            ; 의 결과 (sqrt -1) 
  • 체계: 복잡한 숫자와 함수(예:sin)은 언어 사양에 포함되어 있다.그러나 R5RS 표준에서는 이들의 구현이 선택 사항인 반면 R6RS에서는 필수 사항이다.
  • .NET Framework시스템을 제공한다.숫자.버전 4.0 이후 복잡함.
  • iOS용 스마트 BASIC표기법 a + bi에서 복잡한 숫자를 자연스럽게 지원한다.모든 변수, 수학 연산 또는 함수는 실제와 복잡한 숫자를 모두 인수로 받아들일 수 있고 결과에 따라 실제 또는 복잡한 숫자를 반환할 수 있다.예를 들어 -4의 제곱근은 다음과 같은 복잡한 수입니다.
    프린트 SQRT(-4) 2i 
  • Julia는 최소 버전 0.3 이후[5] 복잡하고 합리적인 숫자에 대해 미리 정의된 유형을 모두 포함한다.

참조

  1. ^ IBM Informix 데이터베이스 설계 및 구현 가이드
  2. ^ "Flash 8 Documentation". Archived from the original on 2009-04-27. Retrieved 2009-05-11.
  3. ^ Fortran IV 프로그래밍 다니엘 D.McCracken - 1972 - 288페이지.그는 "포트란 복합운영이 제공하는 기능은 특정 문제에서 프로그래밍 노력을 크게 절약할 수 있다."
  4. ^ Python v2.6.5 설명서
  5. ^ "Complex and Rational Numbers — Julia Language 0.3.13-pre documentation".