XFloat 문서 - 3. 기초 연산

Written by Integralus

3. 기초 연산

생성자

  • new XFloat()

    새로운 XFloat 객체를 생성합니다. 초기값은 0으로 설정됩니다.

  • new XFloat(number[, exponent])

    • number: (24비트 정수 또는 실수) 초기값의 가수 부분
    • exponent: (24비트 정수) 초기값의 지수 부분, 생략시 0으로 간주됩니다.

    새로운 XFloat 객체를 생성합니다. 초기값은 number * Bexponent으로 설정됩니다. 여기서 B는 224입니다.

  • new XFloat(xf)

    • xf: (XFloat 객체) 복사본을 생성할 XFloat 객체

    XFloat 객체 xf를 복사하여, 새로운 XFloat 객체를 생성합니다.

  • new XFloat(str)

    • str: (문자열) 십진 문자열

    str 문자열을 변환하여 그 값으로 새로운 XFloat 객체를 생성합니다. str은 다음과 같은 형태로 구성되어야 합니다. 부호부(+/-), 정수부(하나 이상의 0~9 숫자), 소수점부(. 이후 하나 이상의 0~9)

    십진 소수로 표현된 str을 이진수로 변환하는 과정에서 필연적으로 오차가 발생하게 됩니다. 이 방법을 통해 XFloat 객체를 생성할 경우, XFloat는 주어진 str의 유효자리수에 맞춰 XFloat의 정밀도를 조절합니다. 그 비율은 대략 십진수 7자리에 1워드입니다.

생성자 예제 코드


사칙연산

  • .add(xf)

    • xf: (XFloat 객체) 더할 값

    현재의 XFloat객체에 xf를 더합니다.

    이 메서드는 자기 자신을 반환합니다.

  • .add(number[, exponent])

    • number: (24비트 정수) 더할 값의 가수 부분
    • exponent: (24비트 정수) 더할 값의 지수 부분, 생략시 0으로 간주됩니다.

    현재의 XFloat객체에 number * Bexponent를 더합니다. 여기서 B는 224입니다.

    이 메서드는 자기 자신을 반환합니다.

  • .sub(xf)

    • xf: (XFloat 객체) 뺄 값

    현재의 XFloat객체에서 xf를 뺍니다.

    이 메서드는 자기 자신을 반환합니다.

  • .sub(number[, exponent])

    • number: (24비트 정수) 뺄 값의 가수 부분
    • exponent: (24비트 정수) 뺄 값의 지수 부분, 생략시 0으로 간주됩니다.

    현재의 XFloat객체에서 number * Bexponent를 뺍니다. 여기서 B는 224입니다.

    이 메서드는 자기 자신을 반환합니다.

  • .mul(a, b)

    • a: (XFloat 객체 또는 24비트 정수) 곱할 수
    • b: (XFloat 객체 또는 24비트 정수) 곱할 수

    ab를 곱한 값을 현재의 XFloat객체에 저장합니다. ab는 XFloat 객체 또는 24비트 정수일수 있지만, ab 둘 중 하나는 반드시 XFloat 객체여야 합니다.

    이 메서드는 자기 자신을 반환합니다.

  • .div(a, b)

    • a: (XFloat 객체) 나눠지는 값
    • b: (XFloat 객체 또는 24비트 정수) 나눌 값

    ab로 나눈 몫을 현재의 XFloat객체에 저장합니다. 나눗셈의 나머지는 a에 저장됩니다. 만약 b가 0일 경우 XFloatError 예외를 던집니다. 이 메서드는 a = bq + r을 만족하는 q와 r을 계산합니다. 이때 q는 정수이며, a가 양수일 경우 0 <= r < |b|, a가 음수일 경우 -|b| < r <= 0이고, a가 0일 경우 r도 0입니다. 이 조건을 q와 r은 유일하게 존재하며 q를 몫, r을 나머지라 정의합니다. 따라서 이 메서드로는 1/3 = 0.333... 처럼 소수점 이하로 전개되는 몫을 계산할 수 없습니다. 이 나눗셈이 필요한 경우 inv 메서드를 이용하십시오.

    이 메서드는 인수 a의 값을 변경시킵니다. 만약 변경 전의 값이 필요하다면, 미리 사본을 만들어두십시오.

    이 메서드는 자기 자신을 반환합니다.

  • .neg()

    현재 XFloat객체의 부호를 반전합니다.

    이 메서드는 자기 자신을 반환합니다.

사칙연산 메서드들은 모두 연산 후 반환값으로 자기 자신을 반환합니다. 따라서 a.add(b).sub(c)처럼 연산들을 한 라인에 연쇄하여 작성할 수 있습니다.

사칙연산 예제 코드


다른 언어로 보기