public final class StrictMath extends Object
StrictMathã¯ã©ã¹ã¯ãææ°é¢æ°ã察æ°é¢æ°ãå¹³æ¹æ ¹ãããã³äžè§é¢æ°ãšãã£ãåºæ¬çãªæ°å€åŠçãå®è¡ããããã®ã¡ãœãããå«ãã§ããŸãã
Javaããã°ã©ã ã®ç§»æ€æ§ãä¿ã€ããã«ããã®ããã±ãŒãžã«ããäžéšã®æ°å€é¢æ°ã®å®çŸ©ã¯ãæ¢åã®ã¢ã«ãŽãªãºã ãšåäžã®èšç®çµæãåºãããšãæ±ããããŠããŸãã ããããã¢ã«ãŽãªãºã ã¯ãæåãªãããã¯ãŒã¯ã»ã©ã€ãã©ãªã§ããnetlibãããFreely Distributable Math Libraryã(fdlibm)ããã±ãŒãžãšããŠå
¥æå¯èœã§ãã ãããã®ã¢ã«ãŽãªãºã ã¯Cããã°ã©ãã³ã°èšèªã§èšè¿°ãããŠããããã¹ãŠã®æµ®åå°æ°ç¹æŒç®ãJavaã®æµ®åå°æ°ç¹æŒç®ã«ãŒã«ã«åŸã£ãŠå®è¡ããããã®ãšèŠãªãããŸãã
Javaã®æ°åŠã©ã€ãã©ãªã¯fdlibmã®ããŒãžã§ã³5.3ãåºã«å®çŸ©ãããŠããŸãã fdlibmã§è€æ°ã®å®çŸ©ãäžããããŠãã颿°(ããšãã°acos)ã«ã€ããŠã¯ãIEEE 754ã³ã¢é¢æ°ã®ããŒãžã§ã³ã䜿çšããŠãã ãã(ãã¡ã€ã«åãeã§å§ãŸããã¡ã€ã«ã®äžã«ãã)ã fdlibmã»ãã³ãã£ãã¯ã¹ãå¿
èŠãšããã¡ãœããã¯ãsinãcosãtanãasinãacosãatanãexpãlogãlog10ãcbrtãatan2ãpowãsinhãcoshãtanhãhypotãexpm1ãããã³log1pã§ãã
ãã®ãã©ãããã©ãŒã ã§ã¯ãintããã³longããªããã£ãåã䜿ã£ãŠ2ã®è£æ°ã®ç¬Šå·ä»ãæŽæ°æŒç®ãå®è¡ããŸãã éçºè
ã¯ãç®è¡æŒç®ãäžè²«ããŠæ£ããçµæãçæããããã«ããªããã£ãåãéžæããå¿
èŠããããŸããããã¯ãå Žåã«ãã£ãŠã¯ããããã®æŒç®ãèšç®ã®å€ã®ç¯å²ããªãŒããŒãããŒããªãããšãæå³ããŠããŸãã ãã¹ãã»ãã©ã¯ãã£ã¹ã¯ãããªããã£ãåãšããªãŒããŒãããŒãåé¿ããã¢ã«ãŽãªãºã ãéžæããããšã§ãã ãµã€ãºãintãŸãã¯longã§ããããªãŒããŒãããŒã»ãšã©ãŒãæ€åºãããå¿
èŠããããšããå ŽåãaddExactãsubtractExactãmultiplyExactãããã³toIntExactã®åã¡ãœããã¯ãçµæããªãŒããŒãããŒãããšArithmeticExceptionãã¹ããŒããŸãã é€ç®ã絶察å€ãå¢åãæžåãåŠå®ãªã©ã®ä»ã®ç®è¡æŒç®ã®å ŽåããªãŒããŒãããŒã¯ç¹å®ã®æå°å€ãŸãã¯æå€§å€ã§ã®ã¿çºçãããããå¿
èŠã«å¿ããŠãã®æå°å€ãŸãã¯æå€§å€ãšç
§ãããŠãã§ãã¯ããå¿
èŠããããŸãã
| 修食åãšå | ãã£ãŒã«ã | 説æ |
|---|---|---|
static double |
E |
èªç¶å¯Ÿæ°ã®åºeã«ãã£ãšãè¿ã
doubleå€ã§ãã |
static double |
PI |
ååšãšãã®çŽåŸã®æ¯piã«ãã£ãšãè¿ã
doubleå€ã§ãã |
| 修食åãšå | ã¡ãœãã | 説æ |
|---|---|---|
static double |
abs(double a) |
doubleå€ã®çµ¶å¯Ÿå€ãè¿ããŸãã |
static float |
abs(float a) |
floatå€ã®çµ¶å¯Ÿå€ãè¿ããŸãã |
static int |
abs(int a) |
intå€ã®çµ¶å¯Ÿå€ãè¿ããŸãã |
static long |
abs(long a) |
longå€ã®çµ¶å¯Ÿå€ãè¿ããŸãã |
static double |
acos(double a) |
æå®ãããå€ã®éäœåŒŠ(ã¢ãŒã¯ã»ã³ãµã€ã³)ãè¿ããŸããè¿ãããè§åºŠã®ç¯å²ã¯ã0.0ããpiã§ãã
|
static int |
addExact(int x, int y) |
åŒæ°ã®åèšãè¿ããŸããçµæã
intããªãŒããŒãããŒããå Žåã¯äŸå€ãã¹ããŒããŸãã |
static long |
addExact(long x, long y) |
åŒæ°ã®åèšãè¿ããŸãããã®çµæã
longããªãŒããŒãããŒããå Žåã¯äŸå€ãã¹ããŒããŸãã |
static double |
asin(double a) |
æå®ãããå€ã®éæ£åŒŠ(ã¢ãŒã¯ã»ãµã€ã³)ãè¿ããŸããè¿ãããè§åºŠã®ç¯å²ã¯ã-pi/2ããpi/2ã§ãã
|
static double |
atan(double a) |
æå®ãããå€ã®éæ£æ¥(ã¢ãŒã¯ã»ã¿ã³ãžã§ã³ã)ãè¿ããŸããè¿ãããè§åºŠã®ç¯å²ã¯ã-pi/2ããpi/2ã§ãã
|
static double |
atan2(double y, double x) |
çŽäº€åº§æš(
x, y)ããæ¥µåº§æš(r, theta)ãžã®å€æããåŸãããè§åºŠthetaãè¿ããŸãã |
static double |
cbrt(double a) |
doubleå€ã®ç«æ¹æ ¹ãè¿ããŸãã |
static double |
ceil(double a) |
åŒæ°ã®å€ä»¥äžã§ãèšç®äžã®æŽæ°ãšçãããæå°ã®(è² ã®ç¡é倧ã«ãã£ãšãè¿ã)
doubleå€ãè¿ããŸãã |
static double |
copySign(double magnitude, double sign) |
2çªç®ã®æµ®åå°æ°ç¹åŒæ°ã®ç¬Šå·ãä»ãããæåã®æµ®åå°æ°ç¹åŒæ°ãè¿ããŸãã
|
static float |
copySign(float magnitude, float sign) |
2çªç®ã®æµ®åå°æ°ç¹åŒæ°ã®ç¬Šå·ãä»ãããæåã®æµ®åå°æ°ç¹åŒæ°ãè¿ããŸãã
|
static double |
cos(double a) |
æå®ãããè§åºŠã®äœåŒŠ(ã³ãµã€ã³)ãè¿ããŸãã
|
static double |
cosh(double x) |
doubleå€ã®åæ²ç·äœåŒŠãè¿ããŸãã |
static double |
exp(double a) |
ãªã€ã©ãŒæ°eã
doubleå€ã§çޝä¹ããå€ãè¿ããŸãã |
static double |
expm1(double x) |
ex -1ãè¿ããŸãã
|
static double |
floor(double a) |
åŒæ°ã®å€ä»¥äžã§ãèšç®äžã®æŽæ°ãšçãããæå€§ã®(æ£ã®ç¡é倧ã«ãã£ãšãè¿ã)
doubleå€ãè¿ããŸãã |
static int |
floorDiv(int x, int y) |
å代æ°ä»¥äžã®æå€§(æ£ã®ç¡é倧ã«ãã£ãšãè¿ã)
intå€ãè¿ããŸãã |
static long |
floorDiv(long x, long y) |
å代æ°ä»¥äžã®æå€§(æ£ã®ç¡é倧ã«ãã£ãšãè¿ã)
longå€ãè¿ããŸãã |
static int |
floorMod(int x, int y) |
intåŒæ°ã®ããã¢ã»ã¢ãžã¥ã©ã¹ãè¿ããŸãã |
static long |
floorMod(long x, long y) |
longåŒæ°ã®ããã¢ã»ã¢ãžã¥ã©ã¹ãè¿ããŸãã |
static int |
getExponent(double d) |
doubleã®è¡šçŸã§äœ¿çšãããŠããããã€ã¢ã¹ãªãã®ææ°ãè¿ããŸãã |
static int |
getExponent(float f) |
floatã®è¡šçŸã§äœ¿çšãããŠããããã€ã¢ã¹ãªãã®ææ°ãè¿ããŸãã |
static double |
hypot(double x, double y) |
sqrt(x2 +y2)ãè¿ããŸã(éäžã§ãªãŒããŒãããŒãã¢ã³ããŒãããŒã¯çºçããªã)ã
|
static double |
IEEEremainder(double f1, double f2) |
IEEE 754æšæºã«åŸã£ãŠã2åã®åŒæ°ã«ã€ããŠå°äœãèšç®ããŸãã
|
static double |
log(double a) |
æå®ããã
doubleå€ã®èªç¶å¯Ÿæ°(åºã¯e)ãè¿ããŸãã |
static double |
log10(double a) |
doubleå€ã®10ãåºãšãã察æ°ãè¿ããŸãã |
static double |
log1p(double x) |
åŒæ°ãš1ã®åèšã®èªç¶å¯Ÿæ°ãè¿ããŸãã
|
static double |
max(double a, double b) |
2ã€ã®
doubleå€ã®ãã¡å€§ããã»ããè¿ããŸãã |
static float |
max(float a, float b) |
2ã€ã®
floatå€ã®ãã¡å€§ããã»ããè¿ããŸãã |
static int |
max(int a, int b) |
2ã€ã®
intå€ã®ãã¡å€§ããã»ããè¿ããŸãã |
static long |
max(long a, long b) |
2ã€ã®
longå€ã®ãã¡å€§ããã»ããè¿ããŸãã |
static double |
min(double a, double b) |
2ã€ã®
doubleå€ã®ãã¡å°ããã»ããè¿ããŸãã |
static float |
min(float a, float b) |
2ã€ã®
floatå€ã®ãã¡å°ããã»ããè¿ããŸãã |
static int |
min(int a, int b) |
2ã€ã®
intå€ã®ãã¡å°ããã»ããè¿ããŸãã |
static long |
min(long a, long b) |
2ã€ã®
longå€ã®ãã¡å°ããã»ããè¿ããŸãã |
static int |
multiplyExact(int x, int y) |
åŒæ°ã®ç©ãè¿ããŸããçµæã
intããªãŒããŒãããŒããå Žåã¯äŸå€ãã¹ããŒããŸãã |
static long |
multiplyExact(long x, long y) |
åŒæ°ã®ç©ãè¿ããŸããçµæã
longããªãŒããŒãããŒããå Žåã¯äŸå€ãã¹ããŒããŸãã |
static double |
nextAfter(double start, double direction) |
2çªç®ã®åŒæ°ã®æ¹åã§ãæåã®åŒæ°ã«é£æ¥ããæµ®åå°æ°ç¹å€ãè¿ããŸãã
|
static float |
nextAfter(float start, double direction) |
2çªç®ã®åŒæ°ã®æ¹åã§ãæåã®åŒæ°ã«é£æ¥ããæµ®åå°æ°ç¹å€ãè¿ããŸãã
|
static double |
nextDown(double d) |
è² ã®ç¡é倧æ¹åã§
dã«é£æ¥ããæµ®åå°æ°ç¹å€ãè¿ããŸãã |
static float |
nextDown(float f) |
è² ã®ç¡é倧æ¹åã§
fã«é£æ¥ããæµ®åå°æ°ç¹å€ãè¿ããŸãã |
static double |
nextUp(double d) |
æ£ã®ç¡é倧æ¹åã§
dã«é£æ¥ããæµ®åå°æ°ç¹å€ãè¿ããŸãã |
static float |
nextUp(float f) |
æ£ã®ç¡é倧æ¹åã§
fã«é£æ¥ããæµ®åå°æ°ç¹å€ãè¿ããŸãã |
static double |
pow(double a, double b) |
1çªç®ã®åŒæ°ãã2çªç®ã®åŒæ°ã§çޝä¹ããå€ãè¿ããŸãã
|
static double |
random() |
0.0以äžã§1.0ããå°ãããæ£ã®ç¬Šå·ã®ä»ããdoubleå€ãè¿ããŸãã |
static double |
rint(double a) |
åŒæ°ã®å€ã«ãã£ãšãè¿ããèšç®äžã®æŽæ°ã«çãã
doubleå€ãè¿ããŸãã |
static long |
round(double a) |
åŒæ°ã«ãã£ãšãè¿ã
longãè¿ããŸããåæ°ã®å Žåã¯æ£ã®ç¡é倧æ¹åã«äžžããŸãã |
static int |
round(float a) |
åŒæ°ã«ãã£ãšãè¿ã
intãè¿ããŸããåæ°ã®å Žåã¯æ£ã®ç¡é倧æ¹åã«äžžããŸãã |
static double |
scalb(double d, int scaleFactor) |
doubleå€ã»ããã®ã¡ã³ããŒã«åäžã®æ£ããäžžããããæµ®åå°æ°ç¹ãæããããšã«ãã£ãŠå®è¡ãããå Žåãšåæ§ã«ã
dÃ2scaleFactorãäžžããŠè¿ããŸãã |
static float |
scalb(float f, int scaleFactor) |
floatå€ã»ããã®ã¡ã³ããŒã«åäžã®æ£ããäžžããããæµ®åå°æ°ç¹ãæããããšã«ãã£ãŠå®è¡ãããå Žåãšåæ§ã«ã
fÃ2scaleFactorãäžžããŠè¿ããŸãã |
static double |
signum(double d) |
åŒæ°ã®ç¬Šå·èŠçŽ ãè¿ããŸããåŒæ°ããŒãã®å Žåã¯ãŒããåŒæ°ããŒããã倧ããå Žåã¯1.0ãåŒæ°ããŒãããå°ããå Žå㯠-1.0ã§ãã
|
static float |
signum(float f) |
åŒæ°ã®ç¬Šå·èŠçŽ ãè¿ããŸããåŒæ°ããŒãã®å Žåã¯ãŒããåŒæ°ããŒããã倧ããå Žåã¯1ãåŒæ°ããŒãããå°ããå Žå㯠-1ã§ãã
|
static double |
sin(double a) |
æå®ãããè§åºŠã®æ£åŒŠ(ãµã€ã³)ãè¿ããŸãã
|
static double |
sinh(double x) |
doubleå€ã®åæ²ç·æ£åŒŠãè¿ããŸãã |
static double |
sqrt(double a) |
doubleå€ã®æ£ããäžžããæ£ã®å¹³æ¹æ ¹ãè¿ããŸãã |
static int |
subtractExact(int x, int y) |
åŒæ°ã®å·®åãè¿ããŸããçµæã
intããªãŒããŒãããŒããå Žåã¯äŸå€ãã¹ããŒããŸãã |
static long |
subtractExact(long x, long y) |
åŒæ°ã®å·®åãè¿ããŸããçµæã
longããªãŒããŒãããŒããå Žåã¯äŸå€ãã¹ããŒããŸãã |
static double |
tan(double a) |
æå®ãããè§åºŠã®æ£æ¥(ã¿ã³ãžã§ã³ã)ãè¿ããŸãã
|
static double |
tanh(double x) |
doubleå€ã®åæ²ç·æ£æ¥ãè¿ããŸãã |
static double |
toDegrees(double angrad) |
ã©ãžã¢ã³ã§èšæž¬ããè§åºŠããçžåœãã床ã«å€æããŸãã
|
static int |
toIntExact(long value) |
longåŒæ°ã®å€ãè¿ããŸãããã®å€ãintã«åãŸããªãå Žåã¯äŸå€ãã¹ããŒããŸãã |
static double |
toRadians(double angdeg) |
床ã§èšæž¬ããè§åºŠããçžåœããã©ãžã¢ã³ã«å€æããŸãã
|
static double |
ulp(double d) |
åŒæ°ã®ulpã®ãµã€ãºãè¿ããŸãã
|
static float |
ulp(float f) |
åŒæ°ã®ulpã®ãµã€ãºãè¿ããŸãã
|
public static final double E
doubleå€ã§ããpublic static final double PI
doubleå€ã§ããpublic static double sin(double a)
a - ã©ãžã¢ã³ã§è¡šããè§åºŠãpublic static double cos(double a)
a - ã©ãžã¢ã³ã§è¡šããè§åºŠãpublic static double tan(double a)
a - ã©ãžã¢ã³ã§è¡šããè§åºŠãpublic static double asin(double a)
a - ãã®å€ã®éæ£åŒŠ(ã¢ãŒã¯ã»ãµã€ã³)ãè¿ããããpublic static double acos(double a)
a - ãã®å€ã®éäœåŒŠ(ã¢ãŒã¯ã»ã³ãµã€ã³)ãè¿ããããpublic static double atan(double a)
a - ãã®å€ã®éæ£æ¥(ã¢ãŒã¯ã»ã¿ã³ãžã§ã³ã)ãè¿ããããpublic static double toRadians(double angdeg)
angdeg - 床ã§èšæž¬ããè§åºŠangdegã®èšæž¬å€ãpublic static double toDegrees(double angrad)
cos(toRadians(90.0))ãæ£ç¢ºã«0.0ã«å¯Ÿå¿ããããšãæåŸ
ã§ããŸããã angrad - ã©ãžã¢ã³ã§è¡šããè§åºŠangradã®èšæž¬å€ãpublic static double exp(double a)
doubleå€ã§çޝä¹ããå€ãè¿ããŸãã ç¹äŸãšããŠ:
a - eã®çޝä¹ã§äœ¿çšããææ°ãaãããã§ãeã¯èªç¶å¯Ÿæ°ã®åºãpublic static double log(double a)
doubleå€ã®èªç¶å¯Ÿæ°(åºã¯e)ãè¿ããŸãã ç¹äŸãšããŠ:
a - å€a (aã®èªç¶å¯Ÿæ°)ãpublic static double log10(double a)
doubleå€ã®10ãåºãšãã察æ°ãè¿ããŸãã ç¹äŸãšããŠ:
a - å€aã®10ãåºãšãã察æ°ãpublic static double sqrt(double a)
doubleå€ã®æ£ããäžžããæ£ã®å¹³æ¹æ ¹ãè¿ããŸãã ç¹äŸãšããŠ:
doubleå€ãè¿ãããŸããa - å€ãaã®æ£ã®å¹³æ¹æ ¹ãpublic static double cbrt(double a)
doubleå€ã®ç«æ¹æ ¹ãè¿ããŸãã æ£ã®æéå€xã®å Žåãcbrt(-x)== -cbrt(x)ãã€ãŸããè² ã®å€ã®ç«æ¹æ ¹ã¯ãå€ã®çµ¶å¯Ÿå€ã®ç«æ¹æ ¹ãè² ã«ãããã®ã§ãã ç¹äŸãšããŠ:
a - å€ãaã®ç«æ¹æ ¹ãpublic static double IEEEremainder(double f1,
double f2)
f1 - f2 à nã«çãããªããŸããããã§ãnã¯åf1/f2ã®æ£ç¢ºãªå€ã«ãã£ãšãè¿ãæŽæ°ã§ããf1/f2ã«åãçšåºŠã«è¿äŒŒããæŽæ°ã2ã€ååšããå Žåãnã«ã¯å¶æ°ãéžæãããŸãã å°äœããŒãã«ãªãå Žåããã®ç¬Šå·ã¯1çªç®ã®åŒæ°ã®ç¬Šå·ãšåãã«ãªããŸãã ç¹äŸãšããŠ:
f1 - è¢«é€æ°ãf2 - 逿°ãf1ãf2ã§é€ç®ãããšãã®å°äœãpublic static double ceil(double a)
doubleå€ãè¿ããŸãã ç¹äŸãšããŠ:
StrictMath.ceil(x)ã®å€ã¯-StrictMath.floor(-x)ãšãŸã£ããåãã§ããa - å€ãpublic static double floor(double a)
doubleå€ãè¿ããŸãã ç¹äŸãšããŠ:
a - å€ãpublic static double rint(double a)
doubleå€ãè¿ããŸãã 2ã€ã®doubleå€ã®æŽæ°ãåŒæ°ã®å€ãšåçšåºŠã«è¿äŒŒããŠããå Žåãçµæã¯å¶æ°ã®æŽæ°å€ã«ãªããŸãã ç¹äŸãšããŠ:
a - å€ãaã«ãã£ãšãè¿ããèšç®äžã®æŽæ°ã«çããæµ®åå°æ°ç¹å€ãpublic static double atan2(double y,
double x)
x, y)ããæ¥µåº§æš(r, theta)ãžã®å€æããåŸãããè§åºŠthetaãè¿ããŸãã ãã®ã¡ãœããã¯ã-pi - piã®ç¯å²ã§y/xã®éæ£æ¥(ã¢ãŒã¯ã»ã¿ã³ãžã§ã³ã)ãèšç®ããããšã§ãäœçžtheta (ã·ãŒã¿)ãèšç®ããŸãã ç¹äŸãšããŠ:
doubleå€ã«ãªããŸãã
doubleå€ã«ãªããŸãã
doubleå€ã«ãªããŸãã
doubleå€ã«ãªããŸãã
doubleå€ã«ãªããŸãã
doubleå€ã«ãªããŸãã
doubleå€ã«ãªããŸãã
doubleå€ã«ãªããŸããy - 瞊座æšx - 暪座æšpublic static double pow(double a,
double b)
doubleå€ãšããŠæ£ç¢ºã«è¡šãããå Žåã¯1çªç®ã®åŒæ°ã2çªç®ã®åŒæ°ã§çޝä¹ããèšç®å€ãšãŸã£ããåãçµæã«ãªããŸãã(äžèšã®èª¬æã«ãããŠã¯ãceilã¡ãœããã«ããåºå®å°æ°ç¹ããŸãã¯åãããšã§ãããfloorã¡ãœããã«ããåºå®å°æ°ç¹ã®å Žåã«éããæµ®åå°æ°ç¹å€ã¯æŽæ°ãšããŠèããŸãã ãã®ã¡ãœãããé©çšããçµæãšåãå Žåã«éããå€ã¯åŒæ°ã1ã€ã®ã¡ãœããã®åºå®å°æ°ç¹ãšãªããŸãã)
a - åºæ°ãb - ææ°ãabpublic static int round(float a)
intãè¿ããŸããåæ°ã®å Žåã¯æ£ã®ç¡é倧æ¹åã«äžžããŸãã
ç¹äŸãšããŠ:
Integer.MIN_VALUE以äžã®ä»»æã®å€ã§ããå Žåãçµæã¯Integer.MIN_VALUEã®å€ã«çãããªããŸãã
Integer.MAX_VALUE以äžã®ä»»æã®å€ã§ããå Žåãçµæã¯Integer.MAX_VALUEã®å€ã«çãããªããŸããa - æŽæ°ã«äžžããæµ®åå°æ°ç¹å€ãintå€ã«äžžããå€ãInteger.MAX_VALUE, Integer.MIN_VALUEpublic static long round(double a)
longãè¿ããŸããåæ°ã®å Žåã¯æ£ã®ç¡é倧æ¹åã«äžžããŸãã
ç¹äŸãšããŠ:
Long.MIN_VALUE以äžã®ä»»æã®å€ã§ããå Žåãçµæã¯Long.MIN_VALUEã®å€ã«çãããªããŸãã
Long.MAX_VALUE以äžã®ä»»æã®å€ã§ããå Žåãçµæã¯Long.MAX_VALUEã®å€ã«çãããªããŸããa - longã«äžžããæµ®åå°æ°ç¹å€ãlongå€ã«äžžããå€ãLong.MAX_VALUE, Long.MIN_VALUEpublic static double random()
0.0以äžã§1.0ããå°ãããæ£ã®ç¬Šå·ã®ä»ããdoubleå€ãè¿ããŸãã æ»ãå€ã¯ããã®ç¯å²ããã®äžæ§ååžã«ãã£ãŠæ¬äŒŒä¹±æ°çã«éžæãããŸãã
æåã«ãã®ã¡ãœãããåŒã³åºããããšãã«ãã¡ãœããã¯åäžã®æ°ããæ¬äŒŒä¹±æ°ãžã§ãã¬ãŒã¿ãäœæããŸããããã¯ã次ã®åŒãšãŸã£ããåãã§ãã
new java.util.Random()
ãã®æ°ããæ¬äŒŒä¹±æ°ãžã§ãã¬ãŒã¿ã¯ã以åŸãã®ã¡ãœãããžã®ãã¹ãŠã®åŒåºãã«äœ¿ãããŸããã»ãã®å Žæã§ã¯äœ¿ãããŸããã
ãã®ã¡ãœããã¯ãè€æ°ã®ã¹ã¬ãããæ£ãã䜿ããããé©åã«åæãããŸãã ãããã倿°ã®ã¹ã¬ããã§æ¬äŒŒä¹±æ°ãé«é »åºŠã§çºçããå¿ èŠãããå Žåã¯ãã¹ã¬ããç¬èªã®æ¬äŒŒä¹±æ°ãžã§ãã¬ãŒã¿ãçšæããŠåã¹ã¬ããã®ã³ã³ãã³ã·ã§ã³ãæžãããŠãããŸããŸããã
0.0以äž1.0æªæºã®æ¬äŒŒä¹±æ°doubleãRandom.nextDouble()public static int addExact(int x,
int y)
intããªãŒããŒãããŒããå Žåã¯äŸå€ãã¹ããŒããŸããx - æåã®å€y - 2çªç®ã®å€ArithmeticException - çµæãintããªãŒããŒãããŒããå ŽåMath.addExact(int,int)public static long addExact(long x,
long y)
longããªãŒããŒãããŒããå Žåã¯äŸå€ãã¹ããŒããŸããx - æåã®å€y - 2çªç®ã®å€ArithmeticException - çµæãlongããªãŒããŒãããŒããå ŽåMath.addExact(long,long)public static int subtractExact(int x,
int y)
intããªãŒããŒãããŒããå Žåã¯äŸå€ãã¹ããŒããŸããx - æåã®å€y - æåã®å€ããæžç®ãã2çªç®ã®å€ArithmeticException - çµæãintããªãŒããŒãããŒããå ŽåMath.subtractExact(int,int)public static long subtractExact(long x,
long y)
longããªãŒããŒãããŒããå Žåã¯äŸå€ãã¹ããŒããŸããx - æåã®å€y - æåã®å€ããæžç®ãã2çªç®ã®å€ArithmeticException - çµæãlongããªãŒããŒãããŒããå ŽåMath.subtractExact(long,long)public static int multiplyExact(int x,
int y)
intããªãŒããŒãããŒããå Žåã¯äŸå€ãã¹ããŒããŸããx - æåã®å€y - 2çªç®ã®å€ArithmeticException - çµæãintããªãŒããŒãããŒããå ŽåMath.multiplyExact(int,int)public static long multiplyExact(long x,
long y)
longããªãŒããŒãããŒããå Žåã¯äŸå€ãã¹ããŒããŸããx - æåã®å€y - 2çªç®ã®å€ArithmeticException - çµæãlongããªãŒããŒãããŒããå ŽåMath.multiplyExact(long,long)public static int toIntExact(long value)
longåŒæ°ã®å€ãè¿ããŸãããã®å€ãintã«åãŸããªãå Žåã¯äŸå€ãã¹ããŒããŸããvalue - longå€ArithmeticException - argumentãintããªãŒããŒãããŒããå ŽåMath.toIntExact(long)public static int floorDiv(int x,
int y)
intå€ãè¿ããŸãã ç¹æ®ãªå Žåã1ã€ãããŸããè¢«é€æ°ãInteger.MIN_VALUEã§ã逿°ã-1ã§ããå ŽåãæŽæ°åãªãŒããŒãããŒãçºçããŠãçµæã¯Integer.MIN_VALUEã«çãããªããŸãã
äŸããã³æŽæ°é€ç®ã®/æŒç®åãšã®æ¯èŒã«ã€ããŠã¯ãMath.floorDivãåç
§ããŠãã ããã
x - è¢«é€æ°y - 逿°intå€ãArithmeticException - 逿°yããŒãã§ããå ŽåMath.floorDiv(int, int), Math.floor(double)public static long floorDiv(long x,
long y)
longå€ãè¿ããŸãã ç¹æ®ãªå Žåã1ã€ãããŸããè¢«é€æ°ãLong.MIN_VALUEã§ã逿°ã-1ã§ããå ŽåãæŽæ°åãªãŒããŒãããŒãçºçããŠãçµæã¯Long.MIN_VALUEã«çãããªããŸãã
äŸããã³æŽæ°é€ç®ã®/æŒç®åãšã®æ¯èŒã«ã€ããŠã¯ãMath.floorDivãåç
§ããŠãã ããã
x - è¢«é€æ°y - 逿°longå€ãArithmeticException - 逿°yããŒãã§ããå ŽåMath.floorDiv(long, long), Math.floor(double)public static int floorMod(int x,
int y)
intåŒæ°ã®ããã¢ã»ã¢ãžã¥ã©ã¹ãè¿ããŸãã
ããã¢ã»ã¢ãžã¥ã©ã¹ã¯x - (floorDiv(x, y) * y)ã§ããã逿°yãšåã笊å·ãæã¡ã-abs(y) < r < +abs(y)ã®ç¯å²ã«ãããŸãã
floorDivãšfloorModã®é¢ä¿ã¯æ¬¡ã®ããã«ãªããŸãã
floorDiv(x, y) * y + floorMod(x, y) == x
äŸããã³%æŒç®åãšã®æ¯èŒã«ã€ããŠã¯ãMath.floorModãåç
§ããŠãã ããã
x - è¢«é€æ°y - 逿°x - (floorDiv(x, y) * y)ArithmeticException - 逿°yããŒãã§ããå ŽåMath.floorMod(int, int), floorDiv(int, int)public static long floorMod(long x,
long y)
longåŒæ°ã®ããã¢ã»ã¢ãžã¥ã©ã¹ãè¿ããŸãã
ããã¢ã»ã¢ãžã¥ã©ã¹ã¯x - (floorDiv(x, y) * y)ã§ããã逿°yãšåã笊å·ãæã¡ã-abs(y) < r < +abs(y)ã®ç¯å²ã«ãããŸãã
floorDivãšfloorModã®é¢ä¿ã¯æ¬¡ã®ããã«ãªããŸãã
floorDiv(x, y) * y + floorMod(x, y) == x
äŸããã³%æŒç®åãšã®æ¯èŒã«ã€ããŠã¯ãMath.floorModãåç
§ããŠãã ããã
x - è¢«é€æ°y - 逿°x - (floorDiv(x, y) * y)ArithmeticException - 逿°yããŒãã§ããå ŽåMath.floorMod(long, long), floorDiv(long, long)public static int abs(int a)
intå€ã®çµ¶å¯Ÿå€ãè¿ããŸãã åŒæ°ãè² ã§ãªãå Žåã¯åŒæ°ãã®ãã®ãè¿ããŸãã è² ã®ãšãã¯ããã®æ£è² ãéã«ããå€ãè¿ããŸãã
åŒæ°ãInteger.MIN_VALUEã®å€(intã®æå°å€)ãšçããå Žåã¯ãçµæãåãå€(è² ã®å€)ã«ãªããŸãã
a - 絶察å€ã決å®ããåŒæ°ãpublic static long abs(long a)
longå€ã®çµ¶å¯Ÿå€ãè¿ããŸãã åŒæ°ãè² ã§ãªãå Žåã¯åŒæ°ãã®ãã®ãè¿ããŸãã è² ã®ãšãã¯ããã®æ£è² ãéã«ããå€ãè¿ããŸãã
åŒæ°ãLong.MIN_VALUEã®å€(longã®æå°å€)ãšçããå Žåã¯ãçµæãåãå€(è² ã®å€)ã«ãªããŸãã
a - 絶察å€ã決å®ããåŒæ°ãpublic static float abs(float a)
floatå€ã®çµ¶å¯Ÿå€ãè¿ããŸãã åŒæ°ãè² ã§ãªãå Žåã¯åŒæ°ãã®ãã®ãè¿ããŸãã è² ã®ãšãã¯ããã®æ£è² ãéã«ããå€ãè¿ããŸãã ç¹äŸãšããŠ:
Float.intBitsToFloat(0x7fffffff & Float.floatToIntBits(a))
a - 絶察å€ã決å®ããåŒæ°public static double abs(double a)
doubleå€ã®çµ¶å¯Ÿå€ãè¿ããŸãã åŒæ°ãè² ã§ãªãå Žåã¯åŒæ°ãã®ãã®ãè¿ããŸãã è² ã®ãšãã¯ããã®æ£è² ãéã«ããå€ãè¿ããŸãã ç¹äŸãšããŠ:
Double.longBitsToDouble((Double.doubleToLongBits(a)<<1)>>>1)
a - 絶察å€ã決å®ããåŒæ°public static int max(int a,
int b)
intå€ã®ãã¡å€§ããã»ããè¿ããŸãã ã€ãŸããçµæã¯Integer.MAX_VALUEã®å€ã«è¿ãã»ãã®åŒæ°ãšãªããŸãã åŒæ°ã®å€ãåãå Žåã¯åãå€ãè¿ããŸãã a - åŒæ°ãb - å¥ã®åŒæ°ãaãšbã®ã©ã¡ãã倧ããæ¹ãpublic static long max(long a,
long b)
longå€ã®ãã¡å€§ããã»ããè¿ããŸãã ã€ãŸããçµæã¯Long.MAX_VALUEã®å€ã«è¿ãã»ãã®åŒæ°ãšãªããŸãã åŒæ°ã®å€ãåãå Žåã¯åãå€ãè¿ããŸãã a - åŒæ°ãb - å¥ã®åŒæ°ãaãšbã®ã©ã¡ãã倧ããæ¹ãpublic static float max(float a,
float b)
floatå€ã®ãã¡å€§ããã»ããè¿ããŸãã ã€ãŸããçµæã¯æ£ã®ç¡é倧ã«è¿ãã»ãã®åŒæ°ãšãªããŸãã åŒæ°ã®å€ãåãå Žåã¯åãå€ãè¿ããŸãã ã©ã¡ããã®å€ãNaNã®å Žåã¯NaNãè¿ããŸãã æ°å€æ¯èŒæŒç®åãšã¯ç°ãªãããã®ã¡ãœããã¯è² ã®ãŒããå³å¯ã«ã¯æ£ã®ãŒããããå°ãããšèŠãªããŸãã äžæ¹ã®åŒæ°ãæ£ã®ãŒãã§ããäžæ¹ãè² ã®ãŒãã®å Žåã¯ãæ£ã®ãŒããè¿ããŸãã a - åŒæ°ãb - å¥ã®åŒæ°ãaãšbã®ã©ã¡ãã倧ããæ¹ãpublic static double max(double a,
double b)
doubleå€ã®ãã¡å€§ããã»ããè¿ããŸãã ã€ãŸããçµæã¯æ£ã®ç¡é倧ã«è¿ãã»ãã®åŒæ°ãšãªããŸãã åŒæ°ã®å€ãåãå Žåã¯åãå€ãè¿ããŸãã ã©ã¡ããã®å€ãNaNã®å Žåã¯NaNãè¿ããŸãã æ°å€æ¯èŒæŒç®åãšã¯ç°ãªãããã®ã¡ãœããã¯è² ã®ãŒããå³å¯ã«ã¯æ£ã®ãŒããããå°ãããšèŠãªããŸãã äžæ¹ã®åŒæ°ãæ£ã®ãŒãã§ããäžæ¹ãè² ã®ãŒãã®å Žåã¯ãæ£ã®ãŒããè¿ããŸãã a - åŒæ°ãb - å¥ã®åŒæ°ãaãšbã®ã©ã¡ãã倧ããæ¹ãpublic static int min(int a,
int b)
intå€ã®ãã¡å°ããã»ããè¿ããŸãã ã€ãŸããçµæã¯Integer.MIN_VALUEã®å€ã«è¿ãã»ãã®åŒæ°ãšãªããŸãã åŒæ°ã®å€ãåãå Žåã¯åãå€ãè¿ããŸãã a - åŒæ°ãb - å¥ã®åŒæ°ãaãšbã®ã©ã¡ããå°ããæ¹ãpublic static long min(long a,
long b)
longå€ã®ãã¡å°ããã»ããè¿ããŸãã ã€ãŸããçµæã¯Long.MIN_VALUEã®å€ã«è¿ãã»ãã®åŒæ°ãšãªããŸãã åŒæ°ã®å€ãåãå Žåã¯åãå€ãè¿ããŸãã a - åŒæ°ãb - å¥ã®åŒæ°ãaãšbã®ã©ã¡ããå°ããæ¹ãpublic static float min(float a,
float b)
floatå€ã®ãã¡å°ããã»ããè¿ããŸãã ã€ãŸããçµæã¯è² ã®ç¡é倧ã«è¿ãã»ãã®å€ãšãªããŸãã åŒæ°ã®å€ãåãå Žåã¯åãå€ãè¿ããŸãã ã©ã¡ããã®å€ãNaNã®å Žåã¯NaNãè¿ããŸãã æ°å€æ¯èŒæŒç®åãšã¯ç°ãªãããã®ã¡ãœããã¯è² ã®ãŒããå³å¯ã«ã¯æ£ã®ãŒããããå°ãããšèŠãªããŸãã äžæ¹ã®åŒæ°ãæ£ã®ãŒãã§ããäžæ¹ãè² ã®ãŒãã®å Žåã¯ãè² ã®ãŒããè¿ããŸãã a - åŒæ°ãb - å¥ã®åŒæ°ãaãšb.ã®ã©ã¡ããå°ããæ¹public static double min(double a,
double b)
doubleå€ã®ãã¡å°ããã»ããè¿ããŸãã ã€ãŸããçµæã¯è² ã®ç¡é倧ã«è¿ãã»ãã®å€ãšãªããŸãã åŒæ°ã®å€ãåãå Žåã¯åãå€ãè¿ããŸãã ã©ã¡ããã®å€ãNaNã®å Žåã¯NaNãè¿ããŸãã æ°å€æ¯èŒæŒç®åãšã¯ç°ãªãããã®ã¡ãœããã¯è² ã®ãŒããå³å¯ã«ã¯æ£ã®ãŒããããå°ãããšèŠãªããŸãã äžæ¹ã®åŒæ°ãæ£ã®ãŒãã§ããäžæ¹ãè² ã®ãŒãã®å Žåã¯ãè² ã®ãŒããè¿ããŸãã a - åŒæ°ãb - å¥ã®åŒæ°ãaãšbã®ã©ã¡ããå°ããæ¹ãpublic static double ulp(double d)
doubleå€ã®ulp(æçµæ¡åäœ)ã¯ããã®æµ®åå°æ°ç¹å€ãšã絶察å€ã§æ¬¡ã«å€§ããdoubleå€ãšã®éã®æ£ã®è·é¢ã§ãã xãNaNã§ãªãå Žåã¯ãulp(-x)== ulp(x)ãšãªããŸãã
ç¹äŸãšããŠ:
Double.MIN_VALUEã«ãªããŸãã
Double.MAX_VALUEã®å Žåãçµæã¯2971ã«çãããªããŸãã
d - ulpãè¿ãããæµ®åå°æ°ç¹å€public static float ulp(float f)
floatå€ã®ulp(æçµæ¡åäœ)ã¯ããã®æµ®åå°æ°ç¹å€ãšã絶察å€ã§æ¬¡ã«å€§ããfloatå€ãšã®éã®æ£ã®è·é¢ã§ãã xãNaNã§ãªãå Žåã¯ãulp(-x)== ulp(x)ãšãªããŸãã
ç¹äŸãšããŠ:
Float.MIN_VALUEã«ãªããŸãã
Float.MAX_VALUEã®å Žåãçµæã¯2104ã«çãããªããŸãã
f - ulpãè¿ãããæµ®åå°æ°ç¹å€public static double signum(double d)
ç¹äŸãšããŠ:
d - 笊å·ãè¿ãããæµ®åå°æ°ç¹å€public static float signum(float f)
ç¹äŸãšããŠ:
f - 笊å·ãè¿ãããæµ®åå°æ°ç¹å€public static double sinh(double x)
doubleå€ã®åæ²ç·æ£åŒŠãè¿ããŸãã xã®åæ²ç·æ£åŒŠã¯ã(ex - e-x)/2 (eã¯ãªã€ã©ãŒæ°)ãšããŠå®çŸ©ãããŸãã
ç¹äŸãšããŠ:
x - åæ²ç·æ£åŒŠãè¿ãããæ°åãxã®åæ²ç·æ£åŒŠãpublic static double cosh(double x)
doubleå€ã®åæ²ç·äœåŒŠãè¿ããŸãã xã®åæ²ç·äœåŒŠã¯ã(ex + e-x)/2 (eã¯ãªã€ã©ãŒæ°)ãšããŠå®çŸ©ãããŸãã
ç¹äŸãšããŠ:
1.0ã«ãªããŸãã
x - åæ²ç·äœåŒŠãè¿ãããæ°åãxã®åæ²ç·äœåŒŠãpublic static double tanh(double x)
doubleå€ã®åæ²ç·æ£æ¥ãè¿ããŸãã xã®åæ²ç·æ£æ¥ã¯ã(ex - e-x)/(ex + e-x)ã€ãŸãsinh(x)/cosh(x)ãšããŠå®çŸ©ãããŸãã æ£ç¢ºãªtanhã®çµ¶å¯Ÿå€ã¯åžžã«1æªæºã§ãã
ç¹äŸãšããŠ:
+1.0ã«ãªããŸãã
-1.0ã«ãªããŸãã
x - åæ²ç·æ£æ¥ãè¿ãããæ°åãxã®åæ²ç·æ£æ¥ãpublic static double hypot(double x,
double y)
ç¹äŸãšããŠ:
x - å€y - å€public static double expm1(double x)
expm1(x) + 1ã®æ£ç¢ºãªåèšã¯exp(x)ã«æ¯ã¹ãexã®çã®çµæã«ããªãè¿ããªããŸãã
ç¹äŸãšããŠ:
x - ex -1ã®èšç®æã«eã«é©çšããææ°ãx - 1ãpublic static double log1p(double x)
xã®å€ãå°ããå Žåãlog1p(x)ã®çµæã¯ãlog(1.0+x)ã®æµ®åå°æ°ç¹è©äŸ¡ãããln(1+x)ã®çã®çµæã«ããªãè¿ããªããŸãã
ç¹äŸãšããŠ:
x - å€x + 1)(x + 1ã®èªç¶å¯Ÿæ°)public static double copySign(double magnitude,
double sign)
signåŒæ°ã¯åžžã«æ£ã§ãããã®ããã«æ±ãããŸãã magnitude - çµæã®çµ¶å¯Ÿå€ãæäŸãããã©ã¡ãŒã¿sign - çµæã®ç¬Šå·ãæäŸãããã©ã¡ãŒã¿magnitudeã®çµ¶å¯Ÿå€ãšsignã®ç¬Šå·ãæã€å€ãpublic static float copySign(float magnitude,
float sign)
signåŒæ°ã¯åžžã«æ£ã§ãããã®ããã«æ±ãããŸãã magnitude - çµæã®çµ¶å¯Ÿå€ãæäŸãããã©ã¡ãŒã¿sign - çµæã®ç¬Šå·ãæäŸãããã©ã¡ãŒã¿magnitudeã®çµ¶å¯Ÿå€ãšsignã®ç¬Šå·ãæã€å€ãpublic static int getExponent(float f)
floatã®è¡šçŸã§äœ¿çšãããŠããããã€ã¢ã¹ãªãã®ææ°ãè¿ããŸãã ç¹äŸãšããŠ:
Float.MAX_EXPONENT+1ã«ãªããŸãã
Float.MIN_EXPONENT -1ã«ãªããŸãã
f - floatå€public static int getExponent(double d)
doubleã®è¡šçŸã§äœ¿çšãããŠããããã€ã¢ã¹ãªãã®ææ°ãè¿ããŸãã ç¹äŸãšããŠ:
Double.MAX_EXPONENT+1ã«ãªããŸãã
Double.MIN_EXPONENT -1ã«ãªããŸãã
d - doubleå€public static double nextAfter(double start,
double direction)
ç¹äŸãšããŠ:
directionã倿Žãããã«è¿ãããŸãã
startã±Double.MIN_VALUEã§ãããdirectionã®å€ããçµæã®çµ¶å¯Ÿå€ãããå°ãããã¹ãã§ããããšã瀺ããŠããå Žåãstartãšåã笊å·ãæã€ãŒããè¿ãããŸãã
startãç¡é倧ã§ãããdirectionã®å€ããçµæã®çµ¶å¯Ÿå€ãããå°ãããã¹ãã§ããããšã瀺ããŠããå Žåãstartãšåã笊å·ãæã€Double.MAX_VALUEãè¿ãããŸãã
startã±Double.MAX_VALUEã«çãããdirectionã®å€ããçµæã®çµ¶å¯Ÿå€ããã倧ãããã¹ãã§ããããšã瀺ããŠããå Žåãstartãšåã笊å·ãæã€ç¡é倧ãè¿ãããŸãã
start - éå§æµ®åå°æ°ç¹å€direction - startã®è¿åãstartã®ã©ã¡ããè¿ãã¹ããã瀺ãå€directionã®æ¹åã§startã®è¿åã«ããæµ®åå°æ°ç¹æ°ãpublic static float nextAfter(float start,
double direction)
ç¹äŸãšããŠ:
directionã«çããå€ãè¿ãããŸãã
startã±Float.MIN_VALUEã§ãããdirectionã®å€ããçµæã®çµ¶å¯Ÿå€ãããå°ãããã¹ãã§ããããšã瀺ããŠããå Žåãstartãšåã笊å·ãæã€ãŒããè¿ãããŸãã
startãç¡é倧ã§ãããdirectionã®å€ããçµæã®çµ¶å¯Ÿå€ãããå°ãããã¹ãã§ããããšã瀺ããŠããå Žåãstartãšåã笊å·ãæã€Float.MAX_VALUEãè¿ãããŸãã
startã±Float.MAX_VALUEã«çãããdirectionã®å€ããçµæã®çµ¶å¯Ÿå€ããã倧ãããã¹ãã§ããããšã瀺ããŠããå Žåãstartãšåã笊å·ãæã€ç¡é倧ãè¿ãããŸãã
start - éå§æµ®åå°æ°ç¹å€direction - startã®è¿åãstartã®ã©ã¡ããè¿ãã¹ããã瀺ãå€directionã®æ¹åã§startã®è¿åã«ããæµ®åå°æ°ç¹æ°ãpublic static double nextUp(double d)
dã«é£æ¥ããæµ®åå°æ°ç¹å€ãè¿ããŸãã ãã®ã¡ãœããã¯æå³çã«ã¯nextAfter(d, Double.POSITIVE_INFINITY)ãšç䟡ã§ãããnextUpã®å®è£
ã¯å¯Ÿå¿ããnextAfteråŒã³åºãããããé«éã§åäœããå¯èœæ§ããããŸãã
ç¹äŸãšããŠ:
Double.MIN_VALUEã«ãªããŸã
d - éå§æµ®åå°æ°ç¹å€public static float nextUp(float f)
fã«é£æ¥ããæµ®åå°æ°ç¹å€ãè¿ããŸãã ãã®ã¡ãœããã¯æå³çã«ã¯nextAfter(f, Float.POSITIVE_INFINITY)ãšç䟡ã§ãããnextUpã®å®è£
ã¯å¯Ÿå¿ããnextAfteråŒã³åºãããããé«éã§åäœããå¯èœæ§ããããŸãã
ç¹äŸãšããŠ:
Float.MIN_VALUEã«ãªããŸã
f - éå§æµ®åå°æ°ç¹å€public static double nextDown(double d)
dã«é£æ¥ããæµ®åå°æ°ç¹å€ãè¿ããŸãã ãã®ã¡ãœããã¯æå³çã«ã¯nextAfter(d, Double.NEGATIVE_INFINITY)ãšåçã§ãããnextDownã®å®è£
ã¯ããã«å¯Ÿå¿ããnextAfteråŒåºãããããé«éã§åäœããå¯èœæ§ããããŸãã
ç¹äŸãšããŠ:
-Double.MIN_VALUEã«ãªããŸã
d - éå§æµ®åå°æ°ç¹å€public static float nextDown(float f)
fã«é£æ¥ããæµ®åå°æ°ç¹å€ãè¿ããŸãã ãã®ã¡ãœããã¯æå³çã«ã¯nextAfter(f, Float.NEGATIVE_INFINITY)ãšåçã§ãããnextDownã®å®è£
ã¯ããã«å¯Ÿå¿ããnextAfteråŒåºãããããé«éã§åäœããå¯èœæ§ããããŸãã
ç¹äŸãšããŠ:
-Float.MIN_VALUEã«ãªããŸã
f - éå§æµ®åå°æ°ç¹å€public static double scalb(double d,
int scaleFactor)
dÃ2scaleFactorãäžžããŠè¿ããŸãã æµ®åå°æ°ç¹å€ã»ããã«ã€ããŠã¯ããJavaèšèªä»æ§ããåç
§ããŠãã ããã çµæã®ææ°ãDouble.MIN_EXPONENTãšDouble.MAX_EXPONENTã®éã§ããå Žåãçãã¯æ£ç¢ºã«èšç®ãããŸãã çµæã®ææ°ãDouble.MAX_EXPONENTãã倧ãããªãå Žåãç¡é倧ãè¿ãããŸãã çµæã鿣èŠã®å Žåã¯ç²ŸåºŠã倱ãããå¯èœæ§ããããŸããã€ãŸããscalb(x, n)ã鿣èŠã®å Žåãscalb(scalb(x, n), -n)ãxãšçãããªããªãå¯èœæ§ããããŸãã çµæãNaN以å€ã®å Žåããã®çµæã¯dãšåã笊å·ãæã¡ãŸãã
ç¹äŸãšããŠ:
d - 2ã®çޝä¹ã«ãã£ãŠã¹ã±ãŒãªã³ã°ãããæ°ãscaleFactor - dãã¹ã±ãŒãªã³ã°ãããšãã«äœ¿çšããã2ã®çޝä¹d à 2scaleFactorpublic static float scalb(float f,
int scaleFactor)
fÃ2scaleFactorãäžžããŠè¿ããŸãã æµ®åå°æ°ç¹å€ã»ããã«ã€ããŠã¯ããJavaèšèªä»æ§ããåç
§ããŠãã ããã çµæã®ææ°ãFloat.MIN_EXPONENTãšFloat.MAX_EXPONENTã®éã§ããå Žåãçãã¯æ£ç¢ºã«èšç®ãããŸãã çµæã®ææ°ãFloat.MAX_EXPONENTãã倧ãããªãå Žåãç¡é倧ãè¿ãããŸãã çµæã鿣èŠã®å Žåã¯ç²ŸåºŠã倱ãããå¯èœæ§ããããŸããã€ãŸããscalb(x, n)ã鿣èŠã®å Žåãscalb(scalb(x, n), -n)ãxãšçãããªããªãå¯èœæ§ããããŸãã çµæãNaN以å€ã®å Žåããã®çµæã¯fãšåã笊å·ãæã¡ãŸãã
ç¹äŸãšããŠ:
f - 2ã®çޝä¹ã«ãã£ãŠã¹ã±ãŒãªã³ã°ãããæ°ãscaleFactor - fãã¹ã±ãŒãªã³ã°ãããšãã«äœ¿çšããã2ã®çޝä¹f à 2scaleFactor ãã°ãŸãã¯æ©èœãéä¿¡
詳现ãªAPIãªãã¡ã¬ã³ã¹ããã³éçºè
ããã¥ã¡ã³ãã«ã€ããŠã¯ãJava SEã®ããã¥ã¡ã³ããåç
§ããŠãã ããã ãã®ããã¥ã¡ã³ãã«ã¯ãæŠå¿µçãªæŠèŠãçšèªã®å®çŸ©ãåé¿æ¹æ³ãæå¹ãªã³ãŒãäŸãªã©ã®ãéçºè
ã察象ã«ãããã詳现ãªèª¬æãå«ãŸããŠããŸãã
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyãåç
§ããŠãã ããã