GnuSmalltalkUsersGuide:BaseChapter 080
- FloatQ
FloatQ
네임스페이스 Smalltalk에 정의됨
슈퍼클래스: Float
범주: 언어-데이터 타입
- 나의 인스턴스들은 C에서 "long double" 숫자와 같은 정확도의 부동 소수점 수를 표현한다.
FloatQ 클래스: 바이트 순서 의존성
signByte
부호 비트를 포함하는 수신자의 바이트를 응답하라.
FloatQ 클래스: 특성화
decimalDigits
FloatQ에 대한 정밀도의 소수점 자리수를 리턴하라. 엄밀히 말해 P가 표현에 대한 정밀도라면 십진 정밀도(decimal precision) Q는 최대 십진 수로, Q base 10 digits인 어떤 부동 소수점 수든 Q 십진 수로 변경하지 않고 P base 2 digits의 부동 소수점 수로 반올·내림할 수 있으며 그 반대도 가능하다.
e
e의 값을 리턴한다. 정밀도가 충분하길 바란다.
emax
유한 값으로서 FloatQ에 허용되는 최대 지수를 리턴하라.
emin
유한 값으로서 FloatQ에 허용되는 최대 지수를 리턴하라.
fmax
무한이 아닌 값으로서 가장 큰 정규화 FloatQ 값을 리턴하라.
fminNormalized
정규화 FloatQ>0 에 해당하는 값들 중 최소값을 리턴하라.
infinity
양의 무한대를 나타내는 FloatQ를 리턴하라.
ln10
ln 10 값을 리턴한다. 정밀도가 충분하길 바란다.
log10Base2
log2 10 값을 리턴한다. 정밀도가 충분하길 바란다.
nan
수학적으로 비확정 값을 나타내는 FloatQ를 리턴하라 (예: Inf - Inf, Inf / Inf ).
negativeInfinity
음의 무한대를 나타내는 FloatQ를 리턴하라.
pi
Pi 값을 리턴한다. 정밀도가 충분하길 바란다.
precision
가수(mantissa)에서 비트 수를 응답하라. 1 + (2^-precision) = 1
FloatQ 클래스: 변환하기
coerce: aNumber
FloatQ로 변환된 aNumber를 응답하라.
FloatQ: built-ins
* arg
수신자와 arg를 곱하여 다른 Number를 응답하라.
+ arg
수신자와 arg를 더하여 다른 Number를 응답하라.
- arg
수신자로부터 arg를 제하여 다른 Number를 응답하라.
/ arg
수신자를 arg로 나누어 다른 FloatQ를 응답하라.
< arg
수신자가 arg보다 작은지를 응답하라.
<= arg
수신자가 arg보다 작거나 같은지를 응답하라.
= arg
수신자가 arg와 같은지를 응답하라.
> arg
수신자가 arg보다 큰지를 응답하라.
>= arg
수신자가 arg보다 크거나 같은지를 응답하라.
asFloatD
FloatD 로 변환된 수신자를 응답하라.
asFloatE
FloatE 로 변환된 수신자를 응답하라.
exponent
mantissa*2^exponent (가수/지수)표현에서 수신자의 exponent를 응답하라 (|mantissa|<=1 ).
fractionPart
수신자의 소수부를 응답하라.
timesTwoPower: arg
수신자와 2^arg를 곱한 값을 응답하라.
truncated
수신자를 0에서 자르고 결과를 응답하라.
~= arg
수신자가 arg와 같지 않은지를 응답하라.
FloatQ: 강제 유형 변환하기
asFloatQ
완전성(completeness)를 위해 정의되었다. 수신자를 리턴하라.
coerce: aNumber
ANumber를 수신자의 클래스로 강제 유형 변환(coerce)하라.
Generality
수신자의 범용성(generality)를 응답하라.
unity
1을 수신자의 클래스로 강제 유형 변환(coerce)하라.
zero
0을 수신자의 클래스로 강제 유형 변환(coerce)하라.
FloatQ: 다양한 수학
raisedTo: aNumber
self의 aNumber 거듭제곱값을 리턴하라.