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