|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
ÀÌÀü Ŭ·¡½º ´ÙÀ½ Ŭ·¡½º | ÇÁ·¹ÀÓÀ¸·Î ÇÁ·¹ÀÓ ¾øÀÌ | |||||||||
°³¿ä: NESTED | Çʵå | constructor | ¸Þ¼µå | »ó¼¼: Çʵå | »ý¼ºÀÚ | ¸Þ¼µå |
java.lang.Objectjava.lang.Number
java.lang.Double
public final class Double
Double
Ŭ·¡½º´Â ¿ø½ÃÇü
double
°ªÀ» °´Ã¼¿¡ ·¦ ÇÕ´Ï´Ù. Double
ÇüÀÇ °´Ã¼¿¡´Â ÇüŰ¡ double
´ÜÀÏ Çʵ尡 Æ÷ÇԵ˴ϴÙ.
¶ÇÇÑ
ÀÌ Å¬·¡½º´Â double
¸¦ String
¿¡
String
¸¦ double
·Î
º¯È¯ÇÏ´Â °¢Á¾ ¸Þ¼µå³ª, double
󸮽ÿ¡ µµ¿òÀÌ µÇ´Â Á¤¼ö ¹× ¸Þ¼µåµµ Á¦°øÇÕ´Ï´Ù.
ÇÊµå °³¿ä | |
---|---|
static double |
MAX_VALUE
double ÇüÀÇ Á¤ÀÇ ÃÖ´ë À¯ÇÑÄ¡ (2-2-52) ·21023 ÀÔ´Ï´Ù. |
static double |
MIN_VALUE
double ÇüÀÇ Á¤ÀÇ ÃÖ¼Ò À¯ÇÑÄ¡ 2-1074 ÀÔ´Ï´Ù. |
static double |
NaN
double ÇüÀÇ ºñ¼ö (NaN) Ä¡¸¦ º¸°ü À¯ÁöÇÏ´Â Á¤¼öÀÔ´Ï´Ù. |
static double |
NEGATIVE_INFINITY
double ÇüÀÇ ºÎÀÇ ¹«ÇÑ´ëÄ¡¸¦ º¸°ü À¯ÁöÇÏ´Â Á¤¼öÀÔ´Ï´Ù. |
static double |
POSITIVE_INFINITY
double ÇüÀÇ Á¤ÀÇ ¹«ÇÑ´ëÄ¡¸¦ º¸°ü À¯ÁöÇÏ´Â Á¤¼öÀÔ´Ï´Ù. |
static int |
SIZE
double Ä¡¸¦ ³ªÅ¸³»´Âµ¥ »ç¿ëµÇ´Â ºñÆ®¼ö |
static Class <Double > |
TYPE
double
¿ø½ÃÇü
À» ³ªÅ¸³»´Â Class ÀνºÅϽºÀÔ´Ï´Ù. |
»ý¼ºÀÚ °³¿ä | |
---|---|
Double (double value)
¿ø½ÃÀû double Àμö¸¦ ³ªÅ¸³½´Ù, »õ·Ó°Ô ÇÒ´çÇÒ ¼ö ÀÖ´Â Double °´Ã¼¸¦ ±¸ÃàÇÕ´Ï´Ù. |
|
Double (String s)
ij¸¯ÅÍ ¶óÀÎÀ¸·Î ³ªÅ¸³»Áö´Â double ÇüÀÇ ºÎµ¿ ¼Ò¼öÁ¡À» ³ªÅ¸³»´Â »õ·Ó°Ô ÇÒ´çÇÒ ¼ö ÀÖ´Â Double °´Ã¼¸¦ ±¸ÃàÇÕ´Ï´Ù. |
¸Þ¼µå °³¿ä | |
---|---|
byte |
byteValue ()
ÀÌ Double °ªÀ» (byte ¿¡ ij½ºÆ® ÇÏ´Â °ÍÀ¸·Î½á) byte ·Î
¼ ¸®ÅÏÇÕ´Ï´Ù. |
static int |
compare (double d1,
double d2)
ÁöÁ¤µÈ 2°³ÀÇ double °ªÀ» ºñ±³ÇÕ´Ï´Ù. |
int |
compareTo (Double anotherDouble)
2°³ÀÇ Double °´Ã¼¸¦ ¼öÄ¡ÀûÀ¸·Î ºñ±³ÇÕ´Ï´Ù. |
static long |
doubleToLongBits (double value)
IEEE 754 ºÎµ¿ ¼Ò¼öÁ¡ÀÇ ¡¸´õºí Æ÷¸Ë (double format)¡¹ºñÆ® ·¹À̾ƿô¿¡ µû¶ó, ÁöÁ¤µÈ ºÎµ¿ ¼Ò¼öÁ¡ÀÇ °ªÀ» Ç¥ÇöÇØ ¸®ÅÏÇÕ´Ï´Ù. |
static long |
doubleToRawLongBits (double value)
IEEE 754 ºÎµ¿ ¼Ò¼öÁ¡ÀÇ ¡¸´õºí Æ÷¸Ë (double format)¡¹ºñÆ® ·¹À̾ƿô¿¡ µû¶ó, ºñ¼ö (NaN) Ä¡¸¦ º¸°ü À¯ÁöÇÏ´Â ÁöÁ¤µÈ ºÎµ¿ ¼Ò¼öÁ¡Ä¡ÀÇ Ç¥ÇöÀ» ¸®ÅÏÇÕ´Ï´Ù. |
double |
doubleValue ()
ÀÌ Double °´Ã¼ÀÇ double °ªÀ» ¸®ÅÏÇÕ´Ï´Ù. |
boolean |
equals (Object obj)
ÀÌ °´Ã¼°¡ ÁöÁ¤µÈ °´Ã¼¿Í ºñ±³ÇÕ´Ï´Ù. |
float |
floatValue ()
ÀÌ Double °´Ã¼ÀÇ float °ªÀ» ¸®ÅÏÇÕ´Ï´Ù. |
int |
hashCode ()
ÀÌ Double °´Ã¼ÀÇ ÇØ½Ã Äڵ带 ¸®ÅÏÇÕ´Ï´Ù. |
int |
intValue ()
ÀÌ Double °ªÀ» (int Çü¿¡ ij½ºÆ® ÇÏ´Â °ÍÀ¸·Î½á) int ·Î
¼ ¸®ÅÏÇÕ´Ï´Ù. |
boolean |
isInfinite ()
ÀÌ Double °ªÀÇ Àý´ë°ªÀÌ ¹«ÇÑ·®ÀÎ °æ¿ì¿¡´Â true ¸¦, ±×·¸Áö ¾ÊÀº °æ¿ì¿¡´Â false ¸¦ ¸®ÅÏÇÕ´Ï´Ù. |
static boolean |
isInfinite (double v)
ÁöÁ¤µÈ ¼öÄ¡ÀÇ Àý´ë°ªÀÌ ¹«ÇÑ·®ÀÎ °æ¿ì¿¡´Â true ¸¦, ±×·¸Áö ¾ÊÀº °æ¿ì¿¡´Â false ¸¦ ¸®ÅÏÇÕ´Ï´Ù. |
boolean |
isNaN ()
ÀÌ Double °ªÀÌ
ºñ¼ö (NaN)ÀÎ °æ¿ì¿¡´Â true ¸¦, ±×·¸Áö ¾ÊÀº °æ¿ì´Â false ¸¦ ¸®ÅÏÇÕ´Ï´Ù. |
static boolean |
isNaN (double v)
ÁöÁ¤µÈ ¼ö°ªÀÌ ºñ¼ö (NaN)ÀÎ °æ¿ì¿¡´Â true ¸¦, ±×·¸Áö ¾ÊÀº °æ¿ì´Â false ¸¦ ¸®ÅÏÇÕ´Ï´Ù. |
static double |
longBitsToDouble (long bits)
ÁöÁ¤µÈ ºñÆ® Ç¥Çö°ú ´ëÀÀÇÏ´Â double °ªÀ» ¸®ÅÏÇÕ´Ï´Ù. |
long |
longValue ()
ÀÌ Double °ªÀ» (long Çü¿¡ ij½ºÆ® ÇÏ´Â °ÍÀ¸·Î½á) long ·Î
¼ ¸®ÅÏÇÕ´Ï´Ù. |
static double |
parseDouble (String s)
Double Ŭ·¡½ºÀÇ valueOf ¸Þ¼µå¸¦ ½ÇÇàÇßÀ» °æ¿ì¿Í °°°Ô, ÁöÁ¤µÈ String °¡ ³ªÅ¸³»´Â °ª¿¡ ÃʱâÈµÈ »õ·Î¿î double °ªÀ» ¸®ÅÏÇÕ´Ï´Ù. |
short |
shortValue ()
ÀÌ Double °ªÀ» (short ¿¡ ij½ºÆ® ÇÏ´Â °ÍÀ¸·Î½á) short ·Î
¼ ¸®ÅÏÇÕ´Ï´Ù. |
static String |
toHexString (double d)
double ÀμöÀÇ 16 Áø¼ö ij¸¯ÅÍ ¶óÀΠǥÇöÀ» ¸®ÅÏÇÕ´Ï´Ù. |
String |
toString ()
ÀÌ Double °´Ã¼ÀÇ Ä³¸¯ÅÍ ¶óÀΠǥÇöÀ» ¸®ÅÏÇÕ´Ï´Ù. |
static String |
toString (double d)
double ÀμöÀÇ Ä³¸¯ÅÍ ¶óÀΠǥÇöÀ» ¸®ÅÏÇÕ´Ï´Ù. |
static Double |
valueOf (double d)
ÁöÁ¤ÇÑ double Ä¡¸¦ ³ªÅ¸³»´Â Double ÀνºÅϽº¸¦ ¸®ÅÏÇÕ´Ï´Ù. |
static Double |
valueOf (String s)
ij¸¯ÅÍ ¶óÀÎ Àμö s ·Î
³ªÅ¸³»Áö´Â double °ªÀ» º¸°ü À¯ÁöÇÏ´Â Double °´Ã¼¸¦ ¸®ÅÏÇÕ´Ï´Ù. |
Ŭ·¡½º java.lang. Object ·ÎºÎÅÍ »ó¼ÓµÈ ¸Þ¼µå |
---|
clone,
finalize,
getClass,
notify,
notifyAll,
wait,
wait,
wait |
ÇʵåÀÇ »ó¼¼ |
---|
public static final double POSITIVE_INFINITY
double
ÇüÀÇ Á¤ÀÇ ¹«ÇÑ´ëÄ¡¸¦ º¸°ü À¯ÁöÇÏ´Â Á¤¼öÀÔ´Ï´Ù. Double.longBitsToDouble(0x7ff0000000000000L)
¿¡ ÀÇÇØ ¸®ÅϵÈ
°ª°ú °°½À´Ï´Ù.
public static final double NEGATIVE_INFINITY
double
ÇüÀÇ ºÎÀÇ ¹«ÇÑ´ëÄ¡¸¦ º¸°ü À¯ÁöÇÏ´Â Á¤¼öÀÔ´Ï´Ù. Double.longBitsToDouble(0xfff0000000000000L)
¿¡ ÀÇÇØ ¸®ÅϵÈ
°ª°ú °°½À´Ï´Ù.
public static final double NaN
double
ÇüÀÇ ºñ¼ö (NaN) Ä¡¸¦ º¸°ü À¯ÁöÇÏ´Â Á¤¼öÀÔ´Ï´Ù. Double.longBitsToDouble(0x7ff8000000000000L)
¿¡ ÀÇÇØ ¸®ÅϵÈ
°ª°ú °°½À´Ï´Ù.
public static final double MAX_VALUE
double
ÇüÀÇ Á¤ÀÇ ÃÖ´ë À¯ÇÑÄ¡ (2-2-52) ·21023 ÀÔ´Ï´Ù. 16 Áø¼ö ºÎµ¿ ¼Ò¼öÁ¡ ¸®ÅÍ·² 0x1.fffffffffffffP+1023
·Î
µ¿µîÇϰí, Double.longBitsToDouble(0x7fefffffffffffffL)
¿Í
µµ µ¿µîÇÕ´Ï´Ù.
public static final double MIN_VALUE
double
ÇüÀÇ Á¤ÀÇ ÃÖ¼Ò À¯ÇÑÄ¡ 2-1074 ÀÔ´Ï´Ù. 16 Áø¼ö ºÎµ¿ ¼Ò¼öÁ¡ ¸®ÅÍ·² 0x0. 0000000000001P-1022
·Î
µ¿µîÇϰí, Double.longBitsToDouble(0x1L)
¿Í
µµ µ¿µîÇÕ´Ï´Ù.
public static final int SIZE
public static final Class <Double > TYPE
double
¿ø½ÃÇü
À» ³ªÅ¸³»´Â Class
ÀνºÅϽºÀÔ´Ï´Ù.
»ý¼ºÀÚ »ó¼¼ |
---|
public Double(double value)
double
Àμö¸¦ ³ªÅ¸³½´Ù, »õ·Ó°Ô ÇÒ´çÇÒ ¼ö ÀÖ´Â Double
°´Ã¼¸¦ ±¸ÃàÇÕ´Ï´Ù.
value
- Double
¿¡ ÀÇÇØ ³ªÅ¸³»Áö´Â °ªpublic Double(String s) throws NumberFormatException
double
ÇüÀÇ ºÎµ¿ ¼Ò¼öÁ¡À» ³ªÅ¸³»´Â »õ·Ó°Ô ÇÒ´çÇÒ ¼ö ÀÖ´Â Double
°´Ã¼¸¦ ±¸ÃàÇÕ´Ï´Ù. ij¸¯ÅÍ ¶óÀÎÀº, valueOf
¸Þ¼µå¿Í °°°Ô double
Ä¡¿¡ º¯È¯µË´Ï´Ù.
s
- Double
·Î
º¯È¯Çϴ ij¸¯ÅÍ ¶óÀÎ
NumberFormatException
- ij¸¯ÅÍ ¶óÀÎÀÌ ±¸¹® ºÐ¼® °¡´ÉÇÑ ¼öÄ¡¸¦ Æ÷ÇÔÇÏÁö ¾Ê´Â °æ¿ìvalueOf(java.lang.String)
¸Þ¼µåÀÇ »ó¼¼ |
---|
public static String toString(double d)
double
ÀμöÀÇ Ä³¸¯ÅÍ ¶óÀΠǥÇöÀ» ¸®ÅÏÇÕ´Ï´Ù. ¾Æ·¡ÀÇ ¹®ÀÚ´Â ¸ðµÎ ASCII ¹®ÀÚÀÔ´Ï´Ù. NaN
¡¹-
¡¹(¡¸\u002D
¡¹). ºÎÈ£°¡ Á¤ÀÇ °æ¿ì, º¯È¯ ÈÄÀÇ Ä³¸¯ÅÍ ¶óÀο¡ ºÎÈ£ ¹®Àڴ ǥ½ÃµÇÁö ¾Ê´Â´Ù. Àý´ëÄ¡ m¿¡ ´ëÇØ¼´Â ´ÙÀ½´ë·ÎInfinity
¡¹¶ó°í Çϴ ij¸¯ÅÍ ¶óÀÎÀ¸·Î ³ªÅ¸³½´Ù. Áï, Á¤ÀÇ ¹«ÇÑ´ë´Â ¡¸Infinity
¡¹, ºÎÀÇ ¹«ÇÑ´ë´Â ¡¸-Infinity
¡¹¶ó°í µÈ´Ù
0.0
¡¹(ÀÌ)¶ó°í Çϴ ij¸¯ÅÍ ¶óÀÎÀ¸·Î ³ªÅ¸³½´Ù. Áï, ºÎÀÇ Á¦·Î´Â ¡¸-0. 0
¡¹, Á¤ÀÇ Á¦·Î´Â ¡¸0.0
¡¹(ÀÌ)¶ó°í µÈ´Ù
.
¡¹( ¡¸'\u002E
¡¹), m
¼Ò¼öºÎ¸¦ ³ªÅ¸³»´Â 1 ÀÚ¸®¼ö ÀÌ»óÀÇ 10 Áø¼ö°¡ ÀÌ ¼ø¼·Î ³ª¶õÇØÁø ÇüÅ·ΠǥÇöµÈ´Ù
Integer.toString(int)
·ÎºÎÅÍ µ¹·ÁÁÖ°íÁ³´ø ´ë·Îa
Á¤¼öºÎÀÎ 1 ÀÚ¸®¼öÀÇ 10 Áø¼ö, ¡¸.
¡¹( ¡¸\u002E
¡¹), a
¼Ò¼öºÎ¸¦ ³ªÅ¸³»´Â 10 Áø¼ö, ¹®ÀÚ ¡¸E
¡¹( ¡¸\u0045
¡¹), n¸¦ ³ªÅ¸³»´Â 10 ÁøÁ¤¼ö°¡ ÀÌ ¼ø¼·Î ³ª¶õÇØÁø ÇüÅ·ΠǥÇöµÈ´Ù
double
ÇüÀÇ ÀÎÁ¢ÇÏ´Â °ªÀ¸·ÎºÎÅÍ Àμö¸¦ ÀÏÀÇ¿¡ ½Äº°Çϴµ¥ ÃÖÀúÇÑ ÇÊ¿äÇÑ ÀÚ¸®¼ö·ÎÀÇÇØ ÁÖ¼¼¿ä. ¿¹¸¦ µé¾î
Á¦·Î°¡ ¾Æ´Ñ À¯ÇÑÀÇ Àμö¸¦ ÁöÁ¤ÇØ ÀÌ ¸Þ¼µå·Î ÀÛ¼ºÇÑ 10 Áø¼ö Ç¥±â¸¦ x ·Î ÇÕ´Ï´Ù. ÀÌ °æ¿ì
d´Â x
double
ÇüÀÇ ÃÖ±Ù ´à°í °ªÀÌ ¾Æ´Ï¸é ¾ÈµË´Ï´Ù. Áï, 2°³ÀÇ double
°ªÀÌ
±ÕµîÇÏ°Ô x¿¡ ±Ù»ç Çϰí ÀÖ´Â °æ¿ìÀ̸é, d´Â 2°³ÀÇ °ªÀÇ ¾î´À ÂÊÀÎÁö ³ª¿ÀÁö ¾ÊÀ¸¸é ¾ÈµÇ¾î, À¯È¿ÇÑ ÃÖÇÏÁ¤µµ ºñÆ®´Â 0
ÀÌ ¾Æ´Ï¸é ¾ÈµË´Ï´Ù.
ºÎµ¿ ¼Ò¼öÁ¡Ä¡ÀÇ Áö¿ª ´ëÀÀµÈ ij¸¯ÅÍ ¶óÀΠǥÇöÀ» ÀÛ¼ºÇÏ´Â °æ¿ì, NumberFormat
¼ºê Ŭ·¡½º¸¦ »ç¿ëÇÕ´Ï´Ù.
d
- º¯È¯ ´ë»óÀÇ double
public static String toHexString(double d)
double
ÀμöÀÇ 16 Áø¼ö ij¸¯ÅÍ ¶óÀΠǥÇöÀ» ¸®ÅÏÇÕ´Ï´Ù. ¾Æ·¡ÀÇ ¹®ÀÚ´Â ¸ðµÎ ASCII ¹®ÀÚÀÔ´Ï´Ù.
NaN
¡¹-
¡¹( ¡¸\u002D
¡¹). ºÎÈ£°¡ Á¤ÀÇ °æ¿ì, º¯È¯ ÈÄÀÇ Ä³¸¯ÅÍ ¶óÀο¡ ºÎÈ£ ¹®Àڴ ǥ½ÃµÇÁö ¾Ê´Â´Ù. Àý´ëÄ¡ m¿¡ ´ëÇØ¼´Â ´ÙÀ½´ë·Î
Infinity
¡¹¶ó°í Çϴ ij¸¯ÅÍ ¶óÀÎÀ¸·Î ³ªÅ¸³½´Ù. Áï, Á¤ÀÇ ¹«ÇÑ´ë´Â ¡¸Infinity
¡¹, ºÎÀÇ ¹«ÇÑ´ë´Â ¡¸-Infinity
¡¹¶ó°í µÈ´Ù
0x0. 0p0
¡¹À̶ó°í Çϴ ij¸¯ÅÍ ¶óÀÎÀ¸·Î ³ªÅ¸³½´Ù. Áï, ºÎÀÇ Á¦·Î´Â ¡¸-0x0. 0p0
¡¹, Á¤ÀÇ Á¦·Î´Â ¡¸0x0. 0p0
¡¹À̶ó°í µÈ´Ù
double
°ªÀÇÀÎ °æ¿ì´Â À¯È¿ ¼ýÀÚ¿Í Áö¼öÀÇ Çʵ带 ³ªÅ¸³»´Âµ¥ ºÎºÐ ij¸¯ÅÍ ¶óÀÎÀÌ »ç¿ëµÈ´Ù. À¯È¿ ¼ýÀڴ ij¸¯ÅÍ ¶óÀÎ ¡¸0x1.
¡¹¶ó°í, ¼Ò¼öºÎ·Î¼ ³ª¸ÓÁöÀÇ À¯È¿ ¼ýÀÚÀÇ ¼Ò¹®ÀÚÀÇ 16 ÁøÇ¥ÇöÀ» °è¼ÓÇØ ³ªÅ¸³»Áø´Ù. ¸ðµç ÀÚ¸®¼ö°¡ 0 ÀÌ ¾Æ´Ñ ÇÑ (¸ðµç °ÍÀÌ 0ÀÎ °æ¿ì´Â ´ÜÀÏÀÇ 0À» »ç¿ë),
16 ÁøÇ¥ÇöÀÇ ¸»¹ÌÀÇ 0 Àº »èÁ¦µÈ´Ù. ´ÙÀ½¿¡
Áö¼ö´Â Áö¼öÄ¡·Î Integer.toString
¸¦
È£ÃâÇØ »ý¼ºÇÒ ¶§¿Í °°ÀÌ, ¡¸p
¡¹¶ó°í °Å±â¿¡ °è¼ÓµÇ´Â ¿ÏÀüÇÑ Áö¼öÀÇ 10 Áø¼ö ij¸¯ÅÍ ¶óÀÎÀ¸·Î ³ªÅ¸³»Áø´Ù
double
Ä¡ÀÇ °æ¿ì´Â À¯È¿ ¼ýÀڴ ij¸¯ÅÍ ¶óÀÎ ¡¸0x0.
¡¹¶ó°í, ¼Ò¼öºÎ·Î¼ ³ª¸ÓÁöÀÇ À¯È¿ ¼ýÀÚÀÇ 16 ÁøÇ¥ÇöÀ» °è¼ÓÇØ ³ªÅ¸³»Áø´Ù. 16 ÁøÇ¥ÇöÀÇ ¸»¹ÌÀÇ 0 Àº »èÁ¦µÈ´Ù. ´ÙÀ½¿¡
Áö¼ö´Â ¡¸p-1022
¡¹·Î ³ªÅ¸³»Áø´Ù. ºñÁ¤±ÔÀÇ À¯È¿Ä¡¿¡´Â Àû¾îµµ 1°³ÀÇ Á¦·Î°¡ ¾Æ´Ñ ÀÚ¸®¼ö°¡ ¾øÀ¸¸é ¾È µÈ´Ù
ºÎµ¿ ¼Ò¼öÁ¡Ä¡ | 16 Áø¼ö ij¸¯ÅÍ ¶óÀÎ |
---|---|
1.0 | 0x1. 0p0 |
-1. 0 | -0x1. 0p0 |
2.0 | 0x1. 0p1 |
3.0 | 0x1. 8p1 |
0.5 | 0x1. 0p-1 |
0.25 | 0x1. 0p-2 |
Double.MAX_VALUE | 0x1.fffffffffffffp1023 |
Minimum Normal Value | 0x1. 0p-1022 |
Maximum Subnormal Value | 0x0.fffffffffffffp-1022 |
Double.MIN_VALUE | 0x0. 0000000000001p-1022 |
d
- º¯È¯ ´ë»óÀÇ double
public static Double valueOf(String s) throws NumberFormatException
s
·Î
³ªÅ¸³»Áö´Â double
°ªÀ» º¸°ü À¯ÁöÇÏ´Â Double
°´Ã¼¸¦ ¸®ÅÏÇÕ´Ï´Ù.
s
°¡ null
ÀÎ °æ¿ì´Â NullPointerException
°¡ ¹ß»ý µË´Ï´Ù.
s
³»ÀÇ ¼±µÎ¿Í ¸»¹ÌÀÇ °ø¹é ¹®ÀÚ´Â ¹«½ÃµË´Ï´Ù. °ø¹é ¹®ÀÚ´Â String.trim()
¸Þ¼µå·Î »èÁ¦µÉ ¶§¿Í °°ÀÌ »èÁ¦µË´Ï´Ù. Áï, ASCII
°ø¹é ¹®ÀÚ¿Í Á¦¾î ¹®ÀÚÀÇ ¾çÂÊ ¸ðµÎ°¡ »èÁ¦µË´Ï´Ù. s
³ª¸ÓÁöÀÇ ¹®ÀÚ°¡ ´ÙÀ½ÀÇ ÀÚ±¸ ±¸¹® ±ÔÄ¢¿¡ µû¶ó FloatValue¸¦ ±¸¼ºÇÕ´Ï´Ù.
¿©±â¼, Sign, FloatingPointLiteral, HexNumeral, HexDigits, SignedInteger ¹× FloatTypeSuffix´Â ¡¸Java ¾ð¾î »ç¾ç¡¹ÀÇ ÀÚ±¸ ±¸Á¶ ¼½¼ÇÀÇ Á¤ÀÇ¿¡ µû¸¨´Ï´Ù. s
°¡ FloatValue
Çü½ÄÀÌ ¾Æ´Ñ °æ¿ì, NumberFormatException
°¡ ¹ß»ý µË´Ï´Ù. ±×·¸Áö ¾ÊÀº °æ¿ì, s
´Â º¸Åë
ÀÇ ¡¸ºÎµ¿ ¼Ò¼öÁ¡ Ç¥±â¡¹, Áï Á¤È®ÇÑ 10 Áø¼ö ¶Ç´Â 16 Áø¼ö¸¦ ³ªÅ¸³»°í ÀÖ´Ù°í º¸¿©Áý´Ï´Ù. ÀÌ Á¤È®ÇÑ ¼öÄ¡´Â °³³ä»óÀº ¡¸¹«ÇÑÇÏ°Ô Á¤È®ÇÑ ¹ÙÀ̳ʸ®Ä¡¡¹¿¡ º¯È¯µÇ°í ³ª¼, IEEE 754 ºÎµ¿ ¼Ò¼öÁ¡ °è»ê¹ý¿¡ µû¸£´Â º¸Åë
ÀÇ ÃÖ±Ù ´à°í °ª µÕ±Ù ¹ý (Á¦·ÎÄ¡ÀÇ ºÎÈ£ º¸°ü À¯Áö¸¦ Æ÷ÇÔÇÑ´Ù)¿¡ µû¶ó double
Çü¿¡ ¸» ¼ö ÀÖ½À´Ï´Ù. ¸¶Áö¸·À¸·Îdouble
°ªÀ» ³ªÅ¸³»´Â Double
°´Ã¼°¡ ¸®Åϵ˴ϴÙ
.
ºÎµ¿ ¼Ò¼öÁ¡Ä¡ÀÇ Áö¿ª ´ëÀÀµÈ ij¸¯ÅÍ ¶óÀΠǥÇöÀ» ÇØ¼®ÇÏ´Â °æ¿ì, NumberFormat
¼ºê Ŭ·¡½º¸¦ »ç¿ëÇÕ´Ï´Ù.
ºÎµ¿ ¼Ò¼öÁ¡ ¸®ÅÍ·²ÀÇ ÇüŸ¦ °áÁ¤ÇÏ´Â Áö½ÃÀÚÀÇ ¸»¹Ì Çü½Ä Áö½ÃÀÚ (1.0f
´Â float
Ä¡, 1.0d
´Â double
Ä¡)´Â ÀÌ ¸Þ¼µåÀÇ °á°ú¿¡ ¿µÇâÀ» ÁÖÁö ¾Ê½À´Ï´Ù. Áï, ÀԷ ij¸¯ÅÍ ¶óÀÎÀÇ ¼öÄ¡´Â Ÿ°ÙÀÇ ºÎµ¿ ¼Ò¼öÁ¡Çü¿¡ Á÷Á¢ º¯È¯µË´Ï´Ù. ij¸¯ÅÍ ¶óÀÎÀ» float
·Î
º¯È¯ÇØ, float
¸¦ double
·Î
º¯È¯ÇÏ´Â 2 ´Ü°èÀÇ ¼ø¼´Â ij¸¯ÅÍ ¶óÀÎÀ» double
·Î
º¯È¯ÇÏ´Â °Í°ú µî°¡°¡ ¾Æ´Õ´Ï´Ù. ¿¹¸¦ µé¾î, float
¸®ÅÍ·² 0.1f
´Â double
Ä¡ 0.10000000149011612
·Î
°°½À´Ï´Ù¸¸, float
¸®ÅÍ·² 0.1f
´Â
double
¸®ÅÍ·² 0.1
°ú´Â ´Ù¸¥ ¼öÄ¡¸¦ ³ªÅ¸³À´Ï´Ù. ¼öÄ¡ 0.1À» ¹ÙÀ̳ʸ® ºÎµ¿ ¼Ò¼öÁ¡¼ö(½Ç¼ö)·Î Á¤È®ÇÏ°Ô ³ªÅ¸³¾ ¼ö ¾ø½À´Ï´Ù.
¹«È¿ÀΠij¸¯ÅÍ ¶óÀÎÀ¸·Î ÀÌ ¸Þ¼µå°¡ ºÒ·Á°¡
°Å³ªNumberFormatException
°¡ Throw µÇ°Å³ª ÇÏÁö ¾Ê°Ô ÇÏ·Á¸é,
¾Æ·¡ÀÇ Á¤±Ô Ç¥ÇöÀ» »ç¿ëÇØ ÀԷ ij¸¯ÅÍ ¶óÀÎÀ» ½ºÅ©¸®´× ÇÒ ¼ö ÀÖ½À´Ï´Ù
.
final String Digits = "(\\p{Digit}+)";
final String HexDigits = "(\\p{XDigit}+)";
// an exponent is 'e' or 'E' followed by an optionally
// signed decimal integer.
final String Exp = "[eE][+-]? "+Digits;
final String fpRegex =
("[\\x00-\\x20]*"+ // Optional leading "whitespace"
"[+-]? (" + // Optional sign character
"NaN|" + // "NaN" string
"Infinity|" + // "Infinity" string
// A decimal floating-point string representing a finite positive
// number without a leading sign has at most five basic pieces:
// Digits . Digits ExponentPart FloatTypeSuffix
//
// Since this method allows integer-only strings as input
// in addition to strings of floating-point literals, the
// two sub-patterns below are simplifications of the grammar
// productions from the Java Language Specification, 2nd
// edition, section 3.10. 2.
// Digits . _opt Digits_opt ExponentPart_opt FloatTypeSuffix_opt
"((("+Digits+"(\\. )? ("+Digits+"? )("+Exp+")? )|"+
// . Digits ExponentPart_opt FloatTypeSuffix_opt
"(\\. ("+Digits+")("+Exp+")? )|"+
// Hexadecimal strings
"((" +
// 0[xX] HexDigits . _opt BinaryExponent FloatTypeSuffix_opt
"(0[xX]" + HexDigits + "(\\. )? )|" +
// 0[xX] HexDigits_opt . HexDigits BinaryExponent FloatTypeSuffix_opt
"(0[xX]" + HexDigits + "? (\\. )" + HexDigits + ")" +
")[pP][+-]? " + Digits + "))" +
"[fFdD]? ))" +
"[\\x00-\\x20]*");// Optional trailing "whitespace"
if (Pattern.matches(fpRegex, myString))
Double.valueOf(myString); // Will not throw NumberFormatException
else {
// Perform suitable alternative action
}
s
- ±¸¹® ºÐ¼® µÇ´Â ij¸¯ÅÍ ¶óÀÎ
String
Àμö¿¡ ÀÇÇØ ³ªÅ¸³»Áö´Â °ªÀ» º¸°ü À¯ÁöÇÏ´Â Double
°´Ã¼
NumberFormatException
- ij¸¯ÅÍ ¶óÀÎÀÌ ±¸¹® ºÐ¼® °¡´ÉÇÑ ¼öÄ¡¸¦ Æ÷ÇÔÇÏÁö ¾Ê´Â °æ¿ìpublic static Double valueOf(double d)
Double(double)
¿¡ ¿ì¼±ÇØ »ç¿ëµË´Ï´Ù. ±× ÀÌÀ¯´Â ÀÌ ¸Þ¼µå°¡ ºó¹øÇÏ°Ô ¿ä±¸µÇ´Â °ªÀ» ij½¬ÇϹǷΠÁ¶ÀÛ¿¡ ÇÊ¿äÇÑ ¿µ¿ªÀ̳ª ½Ã°£ÀÌ ÈξÀ Àû¾îµµ µÇ´Â °æ¿ì°¡ ¸¹±â ¶§¹®ÀÔ´Ï´Ù.
d
- double°ª
public static double parseDouble(String s) throws NumberFormatException
Double
Ŭ·¡½ºÀÇ valueOf
¸Þ¼µå¸¦ ½ÇÇàÇßÀ» °æ¿ì¿Í °°°Ô, ÁöÁ¤µÈ String
°¡ ³ªÅ¸³»´Â °ª¿¡ ÃʱâÈµÈ »õ·Î¿î double
°ªÀ» ¸®ÅÏÇÕ´Ï´Ù.
s
- ±¸¹® ºÐ¼® µÇ´Â ij¸¯ÅÍ ¶óÀÎ
double
Ä¡
NumberFormatException
- ij¸¯ÅÍ ¶óÀÎÀÌ ±¸¹® ºÐ¼® °¡´ÉÇÑ double
°ªÀ» Æ÷ÇÔÇÏÁö ¾Ê´Â °æ¿ìvalueOf(String)
public static boolean isNaN(double v)
true
¸¦, ±×·¸Áö ¾ÊÀº °æ¿ì´Â false
¸¦ ¸®ÅÏÇÕ´Ï´Ù.
v
- ÆÇÁ¤µÇ´Â °ª
true
, ±×·¸Áö ¾ÊÀº °æ¿ì´Â false
public static boolean isInfinite(double v)
true
¸¦, ±×·¸Áö ¾ÊÀº °æ¿ì¿¡´Â false
¸¦ ¸®ÅÏÇÕ´Ï´Ù.
v
- ÆÇÁ¤µÇ´Â °ª
true
, ±×·¸Áö ¾ÊÀº °æ¿ì´Â false
public boolean isNaN()
Double
°ªÀÌ
ºñ¼ö (NaN)ÀÎ °æ¿ì¿¡´Â true
¸¦, ±×·¸Áö ¾ÊÀº °æ¿ì´Â false
¸¦ ¸®ÅÏÇÕ´Ï´Ù.
true
, ±×·¸Áö ¾ÊÀº °æ¿ì´Â false
public boolean isInfinite()
Double
°ªÀÇ Àý´ë°ªÀÌ ¹«ÇÑ·®ÀÎ °æ¿ì¿¡´Â true
¸¦, ±×·¸Áö ¾ÊÀº °æ¿ì¿¡´Â false
¸¦ ¸®ÅÏÇÕ´Ï´Ù.
true
, ±×·¸Áö ¾ÊÀº °æ¿ì´Â false
public String toString()
Double
°´Ã¼ÀÇ Ä³¸¯ÅÍ ¶óÀΠǥÇöÀ» ¸®ÅÏÇÕ´Ï´Ù. ÀÌ °´Ã¼°¡ ³ªÅ¸³»´Â ¿ø½ÃÀû double
°ªÀº
1°³ÀÇ Àμö¸¦ ÃëÇÏ´Â toString
¸Þ¼µå¸¦ ½ÇÇàÇßÀ» °æ¿ì¿Í °°Àº ij¸¯ÅÍ ¶óÀο¡ º¯È¯µË´Ï´Ù.
Object
³»ÀÇ toString
String
Ç¥ÇötoString(double)
public byte byteValue()
Double
°ªÀ» (byte
¿¡ ij½ºÆ® ÇÏ´Â °ÍÀ¸·Î½á) byte
·Î
¼ ¸®ÅÏÇÕ´Ï´Ù.
Number
³»ÀÇ byteValue
byte
Çü¿¡ º¯È¯µÈ ÀÌ °´Ã¼°¡ ³ªÅ¸³»´Â double
ġpublic short shortValue()
Double
°ªÀ» (short
¿¡ ij½ºÆ® ÇÏ´Â °ÍÀ¸·Î½á) short
·Î
¼ ¸®ÅÏÇÕ´Ï´Ù.
Number
³»ÀÇ shortValue
short
Çü¿¡ º¯È¯µÈ ÀÌ °´Ã¼°¡ ³ªÅ¸³»´Â double
ġpublic int intValue()
Double
°ªÀ» (int
Çü¿¡ ij½ºÆ® ÇÏ´Â °ÍÀ¸·Î½á) int
·Î
¼ ¸®ÅÏÇÕ´Ï´Ù.
Number
³»ÀÇ intValue
int
Çü¿¡ º¯È¯µÈ ÀÌ °´Ã¼°¡ ³ªÅ¸³»´Â double
ġpublic long longValue()
Double
°ªÀ» (long
Çü¿¡ ij½ºÆ® ÇÏ´Â °ÍÀ¸·Î½á) long
·Î
¼ ¸®ÅÏÇÕ´Ï´Ù.
Number
³»ÀÇ longValue
long
Çü¿¡ º¯È¯µÈ ÀÌ °´Ã¼°¡ ³ªÅ¸³»´Â double
ġpublic float floatValue()
Double
°´Ã¼ÀÇ float
°ªÀ» ¸®ÅÏÇÕ´Ï´Ù.
Number
³»ÀÇ floatValue
float
Çü¿¡ º¯È¯µÈ ÀÌ °´Ã¼°¡ ³ªÅ¸³»´Â double
ġpublic double doubleValue()
Double
°´Ã¼ÀÇ double
°ªÀ» ¸®ÅÏÇÕ´Ï´Ù.
Number
³»ÀÇ doubleValue
double
ġpublic int hashCode()
Double
°´Ã¼ÀÇ ÇØ½Ã Äڵ带 ¸®ÅÏÇÕ´Ï´Ù. °è»êµÈ °á°ú´Â doubleToLongBits(double)
¸Þ¼µåÀÇ °á°ú¿Í ¿ÏÀüÈ÷ ¶È°°ÀÌ, ÀÌ Double
°´Ã¼°¡ ³ªÅ¸³»´Â ¿ø½ÃÀû double
°ªÀÇ long
Á¤¼ö¸¦ ºñÆ® Ç¥ÇöÇÑ »óÀ§ 32 ºñÆ®¿Í ÇÏÀ§ 32 ºñÆ®ÀÇ ¹èŸÀû ³í¸®ÇÕÀÌ µË´Ï´Ù. Áï, ÇØ½Ã ÄÚµå´Â ´ÙÀ½ÀÇ ½ÄÀÇ °ªÀÔ´Ï´Ù. ´Ù¸¸,(int)(v^(v>>>32))
v
´Â ´ÙÀ½ÀÇ ½Ä¿¡ ÀÇÇØ Á¤Àǵ˴ϴÙ. long v = Double.doubleToLongBits(this.doubleValue());
Object
³»ÀÇ hashCode
hash code
ġObject.equals(java.lang.Object)
,
Hashtable
public boolean equals(Object obj)
true
°¡ µÇ´Â °ÍÀº Àμö°¡ null
ÀÌ ¾Æ´Ï°í, ÀÌ °´Ã¼°¡ ³ªÅ¸³»´Â double
Ä¡¿Í °°Àº °ªÀ» º¸°ü À¯ÁöÇÏ´Â double
¸¦ ³ªÅ¸³»´Â Double
°´Ã¼ÀÎ °æ¿ì¸¸ÀÔ´Ï´Ù. ÀÌ ¶§¹®¿¡
2°³ÀÇ double
°ªÀÌ
µ¿ÀÏÇÏ´Ù°í º¸¿©Áö´Â °ÍÀº, doubleToLongBits(double)
¸Þ¼µå¸¦ °¢ Ä¡¿¡ Àû¿ëÇßÀ» ¶§¿¡ µ¿ÀÏÇÑ long
°ªÀÌ
¸®ÅϵÈÀÎ °æ¿ì¸¸ÀÔ´Ï´Ù.
´ëºÎºÐÀÇ °æ¿ì, Double
Ŭ·¡½ºÀÇ d1
¹× d2
¶ó°í ÇÏ´Â 2°³ÀÇ ÀνºÅϽº¿¡ ´ëÇØ, d1.equals(d2)
°ªÀÌ true
°¡ µÇ´Â °ÍÀº ´ÙÀ½ÀÇ ½ÄÀÇ °ªÀÌ true
°¡ µÇ´Â °æ¿ì¸¸ÀÔ´Ï´Ù.
d1.doubleValue() == d2.doubleValue()
±×·¯³ª, ¿¹¿Ü »çÇ×µµ 2°³ ÀÖ½À´Ï´Ù.
d1
¿Í
d2
¾çÂÊ ¸ðµÎ°¡ Double.NaN
À» ³ªÅ¸³», Double.NaN==Double.NaN
°ªÀÌ false
ÀÎ °Í¿¡µµ ºÒ±¸Çϰí, equals
¸Þ¼µå°¡ true
¸¦ µ¹·ÁÁÖ´Â °æ¿ìd1
°¡ +0. 0
À» ³ªÅ¸³», d2
°¡ -0. 0
À» ³ªÅ¸³»µç°¡ ȤÀº d1
°¡ -0. 0
À» ³ªÅ¸³», d2
°¡ +0. 0
À» ³ªÅ¸³»´Â °æ¿ì·Î+0. 0==-0. 0
°ªÀÌ true
ÀÎ °Í¿¡µµ ºÒ±¸Çϰí, equal
Å×½ºÆ®ÀÇ °ªÀÌ false
ÀÎ °æ¿ì
Object
³»ÀÇ equals
obj
- ºñ±³ ´ë»óÀÇ °´Ã¼
true
, ±×·¸Áö ¾ÊÀº °æ¿ì´Â false
doubleToLongBits(double)
public static long doubleToLongBits(double value)
ºñÆ® 63 (¸¶½ºÅ© 0x8000000000000000L
¿¡ ÀÇÇØ ¼±ÅõǴ ºñÆ®)Àº ºÎµ¿ ¼Ò¼öÁ¡ÀÇ ºÎÈ£¸¦ ³ªÅ¸³À´Ï´Ù. ºñÆ® 62-52 (¸¶½ºÅ© 0x7ff0000000000000L
¿¡ ÀÇÇØ ¼±ÅõǴ ºñÆ®)´Â Áö¼ö¸¦ ³ªÅ¸³À´Ï´Ù. ºñÆ® 51-0 (¸¶½ºÅ© 0x000fffffffffffffL
¿¡ ÀÇÇØ ¼±ÅõǴ ºñÆ®)´Â ºÎµ¿ ¼Ò¼öÁ¡ÀÇ À¯È¿Ä¡ (°¡¼ö·Î ºÒ¸®´Â °æ¿ìµµ ÀÖ´Ù)¸¦ ³ªÅ¸³À´Ï´Ù.
Àμö°¡ Á¤ÀÇ ¹«ÇÑ´ëÄ¡ÀÇ °æ¿ì´Â 0x7ff0000000000000L
°¡ ¸®Åϵ˴ϴÙ
.
Àμö°¡ ºÎÀÇ ¹«ÇÑ´ëÄ¡ÀÇ °æ¿ì´Â 0xfff0000000000000L
°¡ ¸®Åϵ˴ϴÙ
.
Àμö°¡ NaNÀÎ °æ¿ì´Â 0x7ff8000000000000L
°¡ ¸®Åϵ˴ϴÙ
.
¾î´À °æ¿ìµµ, ¸®ÅϵÈ
°ªÀº long
Á¤¼öÀ̸ç, longBitsToDouble(long)
¸Þ¼µå¸¦ ÁöÁ¤Çϸé, doubleToLongBits
¿¡
ÀÇ Àμö¿Í °°Àº ºÎµ¿ ¼Ò¼öÁ¡°ªÀÌ µË´Ï´Ù (¸ðµç NaN °ªÀÌ ´ÜÀÏÀÇ ¡¸Á¤±Ô¡¹NaN Ä¡¿¡ ¼ö³³µÇ´Â °ÍÀ» Á¦¿ÜÇÑ´Ù).
value
- double
Á¤¹ÐµµÀÇ ºÎµ¿ ¼Ò¼öÁ¡Ä¡
public static long doubleToRawLongBits(double value)
ºñÆ® 63 (¸¶½ºÅ© 0x8000000000000000L
¿¡ ÀÇÇØ ¼±ÅõǴ ºñÆ®)Àº ºÎµ¿ ¼Ò¼öÁ¡ÀÇ ºÎÈ£¸¦ ³ªÅ¸³À´Ï´Ù. ºñÆ® 62-52 (¸¶½ºÅ© 0x7ff0000000000000L
¿¡ ÀÇÇØ ¼±ÅõǴ ºñÆ®)´Â Áö¼ö¸¦ ³ªÅ¸³À´Ï´Ù. ºñÆ® 51-0 (¸¶½ºÅ© 0x000fffffffffffffL
¿¡ ÀÇÇØ ¼±ÅõǴ ºñÆ®)´Â ºÎµ¿ ¼Ò¼öÁ¡ÀÇ À¯È¿Ä¡ (°¡¼ö·Î ºÒ¸®´Â °æ¿ìµµ ÀÖ´Ù)¸¦ ³ªÅ¸³À´Ï´Ù.
Àμö°¡ Á¤ÀÇ ¹«ÇÑ´ëÄ¡ÀÇ °æ¿ì´Â 0x7ff0000000000000L
°¡ ¸®Åϵ˴ϴÙ
.
Àμö°¡ ºÎÀÇ ¹«ÇÑ´ëÄ¡ÀÇ °æ¿ì´Â 0xfff0000000000000L
°¡ ¸®Åϵ˴ϴÙ
.
Àμö°¡ NaNÀÎ °æ¿ì, ¸®ÅϵÈ
°ªÀº ½ÇÁ¦ÀÇ NaN Ä¡¸¦ ³ªÅ¸³»´Â long
Á¤¼öÀÔ´Ï´Ù. doubleToLongBits
¸Þ¼µå¿Í´Â ´Þ¶ó, doubleToRawLongBits
¸Þ¼µå°¡ ¸ðµç ºñÆ® ÆÐÅÏ encode NaN¸¦ ´ÜÀÏÀÇ Á¤±Ô NaN Ä¡¿¡ ¼ö³³ÇÒ °ÍÀº ¾ø½À´Ï´Ù.
¾î´À °æ¿ìµµ, ¸®ÅϵÈ
°ªÀº long
Á¤¼öÀ̸ç, longBitsToDouble(long)
¸Þ¼µå¸¦ ÁöÁ¤Çϸé, doubleToRawLongBits
¿¡
ÀÇ Àμö¿Í °°Àº ºÎµ¿ ¼Ò¼öÁ¡°ªÀÌ µË´Ï´Ù.
value
- double
Á¤¹ÐµµÀÇ ºÎµ¿ ¼Ò¼öÁ¡Ä¡
public static double longBitsToDouble(long bits)
double
°ªÀ» ¸®ÅÏÇÕ´Ï´Ù. Àμö´Â IEEE 754 ºÎµ¿ ¼Ò¼öÁ¡ ¡¸¹èÁ¤¹Ðµµ¡¹ºñÆ® ¹è¿¿¡ µû¸¥ ºÎµ¿ ¼Ò¼öÁ¡ Ç¥ÇöÀ̶ó°í º¸¿©Áý´Ï´Ù.
Àμö°¡ 0x7ff0000000000000L
ÀÎ °æ¿ì´Â Á¤ÀÇ ¹«ÇÑ´ë°ªÀÌ ¸®Åϵ˴ϴÙ
.
Àμö°¡ 0xfff0000000000000L
ÀÎ °æ¿ì´Â ºÎÀÇ ¹«ÇÑ´ë°ªÀÌ ¸®Åϵ˴ϴÙ
.
Àμö°¡ 0x7ff0000000000001L
~ 0x7fffffffffffffffL
, ¶Ç´Â 0xfff0000000000001L
~ 0xffffffffffffffffL
¹üÀ§³»ÀÇ °ªÀÎ °æ¿ì, °á°ú´Â NaN°¡ µË´Ï´Ù. Java
Á¦°øÇÏ´Â IEEE 754 ºÎµ¿ ¼Ò¼öÁ¡ ¿¬»êÀº ÇüŰ¡ °°¾Æ ºñÆ® ÆÐÅÏÀÌ ´Ù¸¥ 2°³ÀÇ NaN Ä¡¸¦ ±¸º°ÇÒ ¼ö ¾ø½À´Ï´Ù. NaN
°³º°ÀÇ °ªÀº, Double.doubleToRawLongBits
¸¦ »ç¿ëÇÏ´Â °æ¿ì¿¡¸¸ ½Äº° °¡´ÉÇÕ´Ï´Ù.
±× ´Ù¸¥ °æ¿ì¿¡¼´Â s, e ¹× m 3°³ÀÇ °ª¿¡ ´ëÇØ ´ÙÀ½ÀÇ Àμö·ÎºÎÅÍ °è»êÇÒ ¼ö ÀÖ´Ù°í ÇÕ´Ï´Ù.
ÀÌ °æ¿ì ºÎµ¿ ¼Ò¼öÁ¡Ä¡ÀÇ °á°ú´Â ¼ö½Ä s·m·2e-1075 °ª°ú µ¿ÀÏÇØÁý´Ï´Ù.int s = ((bits >> 63) == 0) ? 1 : -1; int e = (int)((bits >> 52) & 0x7ffL); long m = (e == 0) ? (bits & 0xfffffffffffffL) << 1 : (bits & 0xfffffffffffffL) | 0x10000000000000L;
ÀÌ ¸Þ¼µå´Â long
Àμö¿Í ÀüÇô °°Àº ºñÆ® ÆÐÅÏÀ» °¡Áö´Â double
NaN¸¦ µ¹·ÁÁÙ ¼ö°¡ ¾øÀ» °¡´É¼ºÀÌ ÀÖ½À´Ï´Ù. IEEE 754 ¿¡¼´Â 2 Á¾·ùÀÇ NaN ( ¡¸½Ã±×³ÎÀ» ¹ß»ýÇÏÁö ¾Ê´Â NaN¡¹¿Í¡¸½Ã±×³ÎÀ» ¹ß»ýÇÏ´Â NaN¡¹)¸¦ ±¸º°ÇÕ´Ï´Ù. 2 Á¾·ùÀÇ NaN
Â÷ÀÌ´Â º¸Åë
Java ¿¡¼´Â È®ÀÎÇÒ ¼ö ¾ø½À´Ï´Ù. ½Ã±×³ÎÀ» ¹ß»ýÇÏ´Â NaN ¿¡¼ÀÇ »ê¼ú ¿¬»ê¿¡¼´Â ½Ã±×³ÎÀ» ¹ß»ýÇÏ´Â NaN °¡ ÀÌÁ¾ÀÌ¸é¼ °°Àº ºñÆ® ÆÐÅÏÀ» °¡Áö´Â ½Ã±×³ÎÀ» ¹ß»ýÇÏÁö ¾Ê´Â NaN ·Î ¹Ù²ò´Ï´Ù. ´Ù¸¸, ½Ã±×³ÎÀ» ¹ß»ýÇÏ´Â NaN¸¦ ´ÜÁö Ä«ÇÇÇÏ´Â ÀϺÎÀÇ ÇÁ·Î¼¼¼µµ, ÀÌ º¯È¯µµ ½Ç½ÃÇÕ´Ï´Ù. ƯÈ÷, ½Ã±×³ÎÀ» ¹ß»ýÇÏ´Â NaN¸¦ º¹»çÇØ, È£ÃâÃøÀÇ ¸Þ¼µå¿¡ µ¹·ÁÁÖ´Â °ÍÀ¸·Î ÀÌ º¯È¯À» ½ÇÇàÇÒ ¼ö ÀÖ½À´Ï´Ù. µû¶ó¼, longBitsToDouble
´Â
½Ã±×³ÎÀ» ¹ß»ýÇÏ´Â NaN ºñÆ® ÆÐÅÏÀ» °¡Áö´Â double
¸¦ µ¹·ÁÁÙ ¼ö°¡ ¾øÀ» °¡´É¼ºÀÌ ÀÖ½À´Ï´Ù. ±× °á°ú, ÀϺÎÀÇ long
°ª¿¡¼´Â doubleToRawLongBits(longBitsToDouble(start))
´Â
start
¿Í
µî°¡°¡ ¾Æ´Ñ °æ¿ì°¡ ÀÖ½À´Ï´Ù. ´õÇØ, ¾î´À ƯÁ¤ÀÇ ºñÆ® ÆÐÅÏÀÌ ½Ã±×³ÎÀ» ¹ß»ýÇÏ´Â NaN¸¦ ³ªÅ¸³¾±î´Â Ç÷§Æû¿¡ µû¶ó¼ ´Ù¸¨´Ï´Ù. ½Ã±×³ÎÀ» ¹ß»ýÇÏÁö ¾Ê´Â°¡ ½Ã±×³ÎÀ» ¹ß»ýÇұ °ü°è¾øÀÌ, ¸ðµç NaN´Â À§¿¡ ³ªÅ¸³»´Â NaN
¹üÀ§¿¡ ¾øÀ¸¸é ¾ÈµË´Ï´Ù.
bits
- long
Á¤¼ö
double
ºÎµ¿ ¼Ò¼öÁ¡Ä¡public int compareTo(Double anotherDouble)
Double
°´Ã¼¸¦ ¼öÄ¡ÀûÀ¸·Î ºñ±³ÇÕ´Ï´Ù. ÀÌ ¸Þ¼µå¿¡
ÇÑ ºñ±³´Â Java ¾ð¾îÀÇ ¼öÄ¡ ºñ±³ ¿¬»êÀÚ (<, <=, ==, >= >
)¸¦ ¿ø½ÃÀû double
Ä¡¿¡ Àû¿ëÇßÀ» °æ¿ì¶õ
´ÙÀ½ÀÇ 2 Á¡À¸·Î½á ´Ù¸¨´Ï´Ù. Double.NaN
´Â
±× ÀÚü¿Í µ¿ÀÏÇϰí, ´Ù¸¥ ¸ðµç double
Ä¡ (Double.POSITIVE_INFINITY
¸¦ Æ÷ÇÔÇÑ´Ù)º¸´Ù Å©´Ù°í º¸¿©Áø´Ù0.0d
´Â
-0. 0d
º¸´Ù Å©´Ù°í º¸¿©Áø´Ù
Comparable <Double >
³»ÀÇ compareTo
anotherDouble
- ºñ±³ ´ë»óÀÇ Double
anotherDouble
°¡ ÀÌ Double
¿Í
°°Àº ¼öÄ¡ÀÇ °æ¿ì´Â °ª 0
. Double
°¡ anotherDouble
º¸´Ù ÀÛÀº ¼öÄ¡ÀÇ °æ¿ì´Â 0
º¸´Ù ÀÛÀº °ª. Double
°¡ anotherDouble
º¸´Ù Å« ¼öÄ¡ÀÇ °æ¿ì´Â 0
º¸´Ù Å« °ªpublic static int compare(double d1, double d2)
double
°ªÀ» ºñ±³ÇÕ´Ï´Ù. ¸®ÅϵÈ
Á¤¼ö°ª
ÀÇ ºÎÈ£´Â ´ÙÀ½ÀÇ È£Ãâ·Î ¸®ÅϵÈ
Á¤¼öÀÇ ºÎÈ£¿Í °°°Ô µË´Ï´Ù.
new Double(d1). compareTo(new Double(d2))
d1
- ºñ±³ÇÏ´Â ÃÖÃÊÀÇ double
d2
- ºñ±³ÇÏ´Â 2¹øÂ°ÀÇ double
d1
°ªÀÌ d2
¿Í
µ¿ÀÏÇÑ °æ¿ì´Â °ª 0
, d1
°ªÀÌ d2
º¸´Ù ÀÛÀº °æ¿ì´Â 0
º¸´Ù ÀÛÀº °ª, d1
°ªÀÌ d2
º¸´Ù Å« °æ¿ì´Â 0
º¸´Ù Å« °ª
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
ÀÌÀü Ŭ·¡½º ´ÙÀ½ Ŭ·¡½º | ÇÁ·¹ÀÓÀ¸·Î ÇÁ·¹ÀÓ ¾øÀÌ | |||||||||
°³¿ä: NESTED | Çʵå | constructor | ¸Þ¼µå | »ó¼¼: Çʵå | »ý¼ºÀÚ | ¸Þ¼µå |
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy µµ ÂüÁ¶ÇϽʽÿÀ.