¿ôÃÍ·×»»¥¬¥¤¥É ¥Û¡¼¥àÌܼ¡Á°¥Ú¡¼¥¸¤Ø¼¡¥Ú¡¼¥¸¤Øº÷°ú


ÉÕÏ¿ D

ÉâÆ°¾®¿ôÅÀ±é»»¤Ë¤Ä¤¤¤Æ


Ãí - ¤³¤ÎÉÕÏ¿¤Ï¡¢1991 ǯ 3 ·îȯ¹Ô¤Î "Computing Surveys" ¤Ë·ÇºÜ¤µ¤ì¤¿ "Every Computer Scientist Should Know About Floating-Point Arithmetic" ¹Æ (David GoldbergÃø) ¤òºÆÊÔ½¸¤·¡¢Ãøºî¸¢¤òÍ­¤¹¤ë Association for Computing Machinery ¼Ò (Copyright 1991) ¤Îµö²Ä¤Î¤â¤È¤Ë¡¢°õºþ¤·¤Ê¤ª¤·¤¿¤â¤Î¤Ç¤¹¡£

³µÍ×

ÉâÆ°¾®¿ôÅÀ±é»»¤Ï¡¢³µ¤·¤ÆÆñ²ò¤ÊÌäÂê¤È¤·¤Æ¼õ¤±¼è¤é¤ì¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£¥³¥ó¥Ô¥å¡¼¥¿¥·¥¹¥Æ¥à¤ÎÆâÉô¤Ë¤Ï¡¢ÉâÆ°¾®¿ôÅÀ±é»»¤¬¤¤¤¿¤ë¤È¤³¤í¤Ë¸ºß¤¹¤ëÅÀ¤ò¹Í¤¨¤ì¤Ð¡¢¤³¤Îǧ¼±¤Ë¤Ï¿¾¯¡¢¸½¼Â¤È¤Î¤º¤ì¤¬¤¢¤ë¤è¤¦¤Ç¤¹¡£¤¿¤È¤¨¤Ð¡¢¤Û¤È¤ó¤É¤Î¥³¥ó¥Ô¥å¡¼¥¿¸À¸ì¤Ë¡¢ÉâÆ°¾®¿ôÅÀ¤Î¥Ç¡¼¥¿·¿¤¬»ÈÍѤµ¤ì¤Æ¤¤¤Þ¤¹¡£¤Þ¤¿ PC ¤«¤é¥¹¡¼¥Ñ¡¼¥³¥ó¥Ô¥å¡¼¥¿¤Ë»ê¤ë¤Þ¤Ç¤¢¤é¤æ¤ë¥³¥ó¥Ô¥å¡¼¥¿¤ÇÉâÆ°¾®¿ôÅÀ¥¢¥¯¥»¥é¥ì¡¼¥¿¤¬»ÈÍѤµ¤ì¤Æ¤¤¤Þ¤¹¡£¤µ¤é¤ËÉâÆ°¾®¿ôÅÀ¥¢¥ë¥´¥ê¥º¥à¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤¿¤á¤Ë¡¢¥³¥ó¥Ñ¥¤¥é¤¬¸Æ¤Ó½Ð¤µ¤ì¤ë¤³¤È¤¬¤è¤¯¤¢¤ê¤Þ¤¹¡£¸½¼Â¤Ë¤Ï¡¢¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤Ê¤É¤ÎÉâÆ°¾®¿ôÅÀÎã³°¤ËÂбþ¤·¤Æ¤¤¤Ê¤¤¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Ê¤É³§Ìµ¤Ç¤¢¤ë¤È¤â¸À¤¨¤Þ¤¹¡£¤³¤ÎÉÕÏ¿¤Ç¤Ï¡¢¥³¥ó¥Ô¥å¡¼¥¿¥·¥¹¥Æ¥à¤ÎÀß·×ôÅö¼Ô¤ËÂФ·¤ÆľÀÜŪ¤Ê±Æ¶Á¤òÍ¿¤¨¤ëÉâÆ°¾®¿ôÅÀ¤Î¤µ¤Þ¤¶¤Þ¤Ê¦Ì̤ˤĤ¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£¶ñÂÎŪ¤Ë¤Ï¡¢ÉâÆ°¾®¿ôÅÀɽ¸½¤ÎÇØ·Ê¡¢´Ý¤á¸íº¹¡¢IEEE ÉâÆ°¾®¿ôÅÀɸ½à¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£ºÇ¸å¤Ë¥³¥ó¥Ô¥å¡¼¥¿Àß·×¼Ô¤¬ÉâÆ°¾®¿ôÅÀ¤ò¤É¤Î¤è¤¦¤Ë¥µ¥Ý¡¼¥È¤Ç¤­¤ë¤«¤ò¼¨¤¹Îã¤ò¤¤¤¯¤Ä¤«¾Ò²ð¤·¤Þ¤¹¡£

¥«¥Æ¥´¥ê/¥µ¥Ö¥¸¥§¥¯¥Èµ­½Ò»Ò (°ì¼¡ ) C.0 [¥³¥ó¥Ô¥å¡¼¥¿¥·¥¹¥Æ¥à¤ÎÊÔÀ®] ¡§°ìÈÌ ¡Ý Ì¿Î᥻¥Ã¥È¤ÎÀ߷ס¨D.3.4 [¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì] ¡§¥×¥í¥»¥Ã¥µ ¡Ý ¥³¥ó¥Ñ¥¤¥é¡¢ºÇŬ²½¡¨G.1.0 [¿ôÃͲòÀÏ] ¡§°ìÈÌ ¡Ý ¥³¥ó¥Ô¥å¡¼¥¿±é»»¡¢¥¨¥é¡¼²òÀÏ¡¢¿ôÃÍ¥¢¥ë¥´¥ê¥º¥à (Æó¼¡ )

D.2.1 [¥½¥Õ¥È¥¦¥§¥¢¥¨¥ó¥¸¥Ë¥¢¥ê¥ó¥°] ¡§Í×·ï/»ÅÍÍ ¡Ý ¸À¸ì¡¨D.3.4 [¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì] ¡§Àµ¼°¤ÊÄêµÁ¤ÈÍýÏÀ ¡Ý ¥»¥Þ¥ó¥Æ¥£¥¯¥¹¡¨D.4.1 [¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à] ¡§¥×¥í¥»¥¹´ÉÍý ¡Ý Ʊ´ü²½

°ìÈÌÍѸ졧¥¢¥ë¥´¥ê¥º¥à¡¢À߷ס¢¸À¸ì

¤½¤Î¾¤Î¥­¡¼¥ï¡¼¥É¤Èɽ¸½¡§ÈóÀµµ¬²½¿ô¡¢Îã³°¡¢ÉâÆ°¾®¿ôÅÀ¡¢ÉâÆ°¾®¿ôÅÀɸ½à¡¢Ãʳ¬Åª¥¢¥ó¥À¡¼¥Õ¥í¡¼¡¢Êݸî·å¡¢NaN¡¢¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¡¢ÁêÂÐ¸íº¹¡¢´Ý¤á¸íº¹¡¢´Ý¤á¥â¡¼¥É¡¢ulp¡¢¥¢¥ó¥À¡¼¥Õ¥í¡¼

¤Ï¤¸¤á¤Ë

¥³¥ó¥Ô¥å¡¼¥¿¥·¥¹¥Æ¥à¤ÎÀ߷׺î¶È¤ò¿Ê¤á¤ë¾å¤Ç¡¢ÉâÆ°¾®¿ôÅÀ±é»»¤Ë´Ø¤¹¤ë¾ðÊó¤¬É¬Íפˤʤ뤳¤È¤¬¤è¤¯¤¢¤ê¤Þ¤¹¡£¤·¤«¤·¸½¼Â¤Ë¤Ï¡¢ÉâÆ°¾®¿ôÅÀ±é»»¤Ë´Ø¤¹¤ë¾Ü¤·¤¤»ñÎÁ¤Ï°Õ³°¤Ê¤Û¤É¾¯¤Ê¤¤¤â¤Î¤Ç¤¹¡£¤³¤ÎÌäÂê¤ò°·¤Ã¤¿¿ô¾¯¤Ê¤¤½ñÀÒ¤Î1¤Ä¤Ç¤¢¤ë "Floating-Point Computation" (Pat Sterbenz Ãø) ¤â¡¢¤¹¤Ç¤ËÇÑ´©¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£¤³¤ÎÉÕÏ¿¤Ç¤Ï¡¢¥³¥ó¥Ô¥å¡¼¥¿¥·¥¹¥Æ¥à¤ÎÀ߷פËÂ礭¤¯¤«¤«¤ï¤ëÉâÆ°¾®¿ôÅÀ±é»»¤Î³Æ¦Ì̤ˤĤ¤¤Æ¾Ü¤·¤¯ÀâÌÀ¤·¤Þ¤¹¡£¤³¤ÎÉÕÏ¿¤ÏÂ礭¤¯ 3 Éô¤Ëʬ¤±¤é¤ì¤Þ¤¹¡£¡Ö´Ý¤á¸íº¹¡×¤ÎÉô¤Ç¤Ï¡¢»Í§±é»»¤Î´ðËÜŪ¤ÊÁàºî¤Ë³Æ¼ï¤Î´Ý¤á¥â¡¼¥É¤òŬÍѤ·¤¿¾ì¹ç¤Î±Æ¶Á¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£¤Þ¤¿ ulp ¤ÈÁêÂÐ¸íº¹¤È¤¤¤¦ 2 ¼ïÎà¤Î´Ý¤á¸íº¹¤Î¬ÄêÊýË¡¤Ë´Ø¤¹¤ëÇطʾðÊó¤ò¼¨¤·¤Þ¤¹¡£2 Éô¤Ç¤Ï¡¢Â¿¤¯¤Î¥Ï¡¼¥É¥¦¥§¥¢¥Ù¥ó¥À¡¼³Æ¼Ò¤Ë¤è¤Ã¤ÆµÞ®¤ÊÀª¤¤¤ÇºÎÍѤµ¤ì¤Ä¤Ä¤¢¤ë IEEE ÉâÆ°¾®¿ôÅÀɸ½à¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£IEEE ɸ½à¤Ë¤Ï¡¢´ðËÜŪ¤Ê±é»»¤Ë´Ø¤¹¤ë´Ý¤á¤ÎÊýË¡¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£IEEE ɸ½à¤Ë¤Ä¤¤¤Æ¤Ï¡¢¡Ö´Ý¤á¸íº¹¡×¤Ë¼¨¤¹»ö¹à¤Ë¤â¤È¤Å¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£¶ñÂÎŪ¤Ë¤ÏÌ¿Î᥻¥Ã¥È¤ÎÀ߷ס¢ºÇŬ²½¥³¥ó¥Ñ¥¤¥é¡¢¤ª¤è¤ÓÎã³°½èÍý¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£

¤³¤ÎÉÕÏ¿¤ÇÉâÆ°¾®¿ôÅÀ¤Ë¤Ä¤¤¤ÆÀâÌÀ¤¹¤ë¤È¤­¤Ï¡¢É¬¤º¡¢¤½¤ÎÀâÌÀ¤¬ÂÅÅö¤Ç¤¢¤ë¤È¤¤¤¦ÀµÅö¤ÊÍýͳ¤âÊ»¤»¤Æ¼¨¤·¤Æ¤¢¤ê¤Þ¤¹¡£¤³¤ì¤Ï¡¢¤½¤ÎÍýͳ¤Ë´Ø¤¹¤ëÀâÌÀ¼«ÂΤ¬¡¢Ã±½ã¤Ê·×»»¤À¤±¤Ç¤ÏºÑ¤Þ¤¹¤³¤È¤¬¤Ç¤­¤Ê¤¤¾ì¹ç¤¬¤è¤¯¤¢¤ë¤«¤é¤Ç¤¹¡£¤Þ¤¿ÀâÌÀ¤Î¼ç»Ý¤ÈľÀÜŪ¤Ë¤Ï´Ø·¸¤Î¤Ê¤¤ÆâÍƤˤĤ¤¤Æ¤Ï¡Ö¾ÜºÙ¡×¤È¤¤¤¦¹à¤ËÆÈΩ¤·¤Æ¼¨¤·¤Æ¤¢¤ê¤Þ¤¹¡£¡Ö¾ÜºÙ¡×¤ÏÆɤßÈô¤Ð¤·¤Æ¤â¤«¤Þ¤¤¤Þ¤»¤ó¡£¤Þ¤¿¡¢¤³¤ÎÉÕÏ¿¤Ë¤ÏÆäˡ¢ÄêÍý¤Ë´Ø¤¹¤ë¡Ö¾ÚÌÀ¡×¤¬¿ô¿¤¯¾Ò²ð¤·¤Æ¤¢¤ê¤Þ¤¹¡£¡Ö¾ÚÌÀ¡×¤Î½ª¤ï¤ê¤Î²Õ½ê¤Ï¢£¤Îµ­¹æ¤òÉÕ¤±¤Æɽ¤ï¤·¤Þ¤¹¡£¤Þ¤¿¡Ö¾ÚÌÀ¡×¤ò¾Êά¤·¤¿¾ì¹ç¤Ï¡¢¢£¤Îµ­¹æ¤òÄêÍý¤Îʸ¤Îľ¸å¤Ë¼¨¤·¤Þ¤¹¡£

´Ý¤á¸íº¹

¿¿ô¤Î¼Â¿ô¤òÍ­¸Â¸Ä¤Î¥Ó¥Ã¥È¤ÎÃæ¤Ø̵¸Â¤Ë°µ½Ì¤·¤Æ¤¤¤¯¤Ë¤Ï¡¢¶á»÷ÃͤÎɽ¸½¤¬É¬Íפˤʤê¤Þ¤¹¡£À°¿ô¤Ë¤Ï̵¸Â¤Î¿ô¤¬¤¢¤ê¤Þ¤¹¤¬¡¢¥×¥í¥°¥é¥àÃæ¤Ç¤ÏÄ̾À°¿ô±é»»¤Î·ë²Ì¤Ï 32 ¥Ó¥Ã¥È¤´¤È¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£°ìÊý¡¢Ç¤°Õ¤Î¸ÇÄê¿ô¥Ó¥Ã¥È¤Ç¡¢¼Â¿ô¤òȼ¤¦±é»»¤ò¹Ô¤¦¾ì¹ç¤Ï¡¢¤É¤ì¤Û¤É¿¤¯¤Î¥Ó¥Ã¥È¤ò»ÈÍѤ·¤Æ¤â¡¢·ë²Ì¤ÎÃͤòÀµ³Î¤Ë¤Ïɽ¸½¤Ç¤­¤Ê¤¯¤Ê¤Ã¤Æ¤­¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢ÉâÆ°¾®¿ôÅÀ±é»»¤Î·ë²Ì¤Ë¡¢´Ý¤áÁàºî¤ò²Ã¤¨¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢Í­¸Â¤ÎÈÏ°ÏÆâ¤Ë¼ý¤á¤Æɽ¸½¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¤³¤Î´Ý¤áÁàºî¤Î¤È¤­¤ËÀ¸¤¸¤ë¸íº¹¤Ï¡¢ÉâÆ°¾®¿ôÅÀ±é»»¤«¤éÀÚ¤êÎ¥¤¹¤³¤È¤Î¤Ç¤­¤Ê¤¤ÆÃÀ­¤È¸À¤¨¤Þ¤¹¡£´Ý¤á¸íº¹¤Î¬ÄêÊýË¡¤Ë¤Ä¤¤¤Æ¤Ï¡¢¡ÖÁêÂÐ¸íº¹¤È ulp¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£

¤½¤â¤½¤â¡¢Ä̾ï¤ÎÉâÆ°¾®¿ôÅÀ±é»»¤Ç´Ý¤á¸íº¹¤ÎÌäÂê¤òÈò¤±¤ë¤³¤È¤¬¤Ç¤­¤Ê¤¤¤Î¤À¤È¤¹¤ì¤Ð¡¢´ðËÜŪ¤Ê±é»»½èÍý¤Ç¿¾¯¤Î´Ý¤á¸íº¹¤¬½Ð¤ë¤³¤È¤Ë²¿¤«ÌäÂ꤬¤¢¤ë¤Î¤Ç¤·¤ç¤¦¤«¡£¤³¤Îº¬ËÜŪ¤Êµ¿Ì䤳¤½¡¢¤³¤Î¹à¤Ç°·¤¦¼çÍפÊÌäÂê¤Ë¤Û¤«¤Ê¤ê¤Þ¤»¤ó¡£¡ÖÊݸî·å¡×¤Ç¤ÏÊݸî·å¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Æ¤¤¤Þ¤¹¡£Êݸî·å¤ò³ÎÊݤ¹¤ë¤³¤È¤Ë¤è¤ê¡¢2 ¤Ä¤Î¶á¤¤Ãͤò¸º»»¤¹¤ë¤È¤­¤Î¸íº¹¤òÄ㸺¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£Êݸî·å¤ÏËÜÍè¡¢IBM ¤¬ 1968 ǯ¤Ë¡¢System/360 ¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤ÎÇÜÀºÅÙ¥Õ¥©¡¼¥Þ¥Ã¥È¤È¤·¤ÆÊݸîÍѤηå¤òÄɲä·¤¿ (ñÀºÅÙ¥Õ¥©¡¼¥Þ¥Ã¥È¤Ë¤Ï¤¹¤Ç¤ËÊݸî·å¤¬ÀßÄꤵ¤ì¤Æ¤¤¤Þ¤·¤¿) ¤³¤È¤ËÂбþ¤·¤Æ¡¢´û¸¤ÎÁ´¥Þ¥·¥ó¤ò²þÄû¤·¤¿¤³¤È¤¬¤­¤Ã¤«¤±¤Ç½ÅÍ׻뤵¤ì¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£Êݸî·å¤Î¸úÍѤò¼¨¤¹Îã¤ò 2 ¤Ä¾Ò²ð¤·¤Þ¤¹¡£

IEEE ɸ½à¤Î»ÅÍͤϡ¢Ã±¤Ê¤ëÊݸî·å¤ÎɬÍ×À­¤òÍ׵᤹¤ë¤À¤±¤Î¤â¤Î¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£»Í§±é»»¤Î¤Û¤«¡¢Ê¿Êýº¬·×»»¤Î¥¢¥ë¥´¥ê¥º¥à¤¬ÍÑ°Õ¤µ¤ì¡¢³Æ¥¢¥ë¥´¥ê¥º¥à¤ÈƱ¤¸·ë²Ì¤òÀ¸À®¤Ç¤­¤ë¼ÂÁõ¤¬É¬Íפˤʤê¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢¤¢¤ë¥Þ¥·¥ó¤«¤éÊ̤Υޥ·¥ó¤Ë¥×¥í¥°¥é¥à¤ò°Ü¿¢¤·¤¿¾ì¹ç¤Ç¤â¡¢Î¾Êý¤Î¥Þ¥·¥ó¤Ç¤¬ IEEE ɸ½à¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ì¤Ð¡¢´ðËܱ黻¤Ë¤è¤ê³Æ¥Ó¥Ã¥È¤´¤È¤Ë¡¢¤Þ¤Ã¤¿¤¯Æ±¤¸·ë²Ì¤¬À¸À®¤µ¤ì¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£¡ÖÀµ³Î¤Ê´Ý¤áÁàºî¡×¤Ë¤Ï¡¢¤³¤ÎÀµ³Î¤Ê»ÅÍͤˤâ¤È¤Å¤¤¤¿Ê̤ÎÎã¤ò¼¨¤·¤Þ¤¹¡£

ÉâÆ°¾®¿ôÅÀ¥Õ¥©¡¼¥Þ¥Ã¥È

¤³¤ì¤Þ¤Ç¤Ë¤â¡¢¼Â¿ô¤òɽ¸½¤¹¤ë¤µ¤Þ¤¶¤Þ¤Ê·Á¼°¤¬Äó°Æ¤µ¤ì¤Æ¤­¤Þ¤·¤¿¡£¤³¤Î¤¦¤ÁºÇ¤â°ìÈÌŪ¤Ê·Á¼°¤ÏÉâÆ°¾®¿ôÅÀɽ¸½ 1¤Ç¤¹¡£ÉâÆ°¾®¿ôÅÀɽ¸½¤Ç¤Ï¡¢´ð¿ô ¦Â (¤Ä¤Í¤Ë¶ö¿ô¤È¤·¤Þ¤¹) ¤ÈÀºÅÙ p ¤ò»ÈÍѤ·¤Þ¤¹¡£¦Â = 10 ¤Ç¡¢p = 3 ¤È¤¹¤ë¤È¡¢0.1 ¤È¤¤¤¦ÃͤÏ1.00 × 10-1 ¤Èɽ¤ï¤·¤Þ¤¹¡£¤Þ¤¿ ¦Â = 2 ¤Ç¡¢p = 24 ¤Î¾ì¹ç¡¢¾®¿ôÅÀ¿ô 0.1 ¤ÏÀµ³Î¤Ëɽ¸½¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¤¬¡¢¤ª¤è¤½ 1.10011001100110011001101 × 2-4 ¤È¤Ê¤ê¤Þ¤¹¡£°ìÈ̤ˡ¢ÉâÆ°¾®¿ôÅÀ¿ô¤Ï ¡Þ d.dd... d × ¦Âe ¤Èɽ¤ï¤µ¤ì¤Þ¤¹ (¤³¤³¤Ç d.dd... d ¤Ï¡ÖÍ­°Õ·å¡×2¤È¸Æ¤Ð¤ì¡¢·å¿ô¤Ï p ¤È¤Ê¤ê¤Þ¤¹)¡£¤µ¤é¤ËÀµ³Î¤Ë¸À¤¦¤È¡¢± d0 . d1 d2 ¼ dp-1 × ¦Âe ¤Ï¡¢¼¡¤Î¿ô¤òɽ¤ï¤·¤Þ¤¹¡£

(1)

ÉâÆ°¾®¿ôÅÀ¿ô¤È¤¤¤¦ÍѸì¤Ï¡¢¾åµ­¤Î¤è¤¦¤Ê·Á¼°¤Çɽ¸½¤Ç¤­¤ë¼Â¿ô¤Î¤³¤È¤ò»Ø¤·¤Þ¤¹¡£ÉâÆ°¾®¿ôÅÀɽ¸½¤Ç¤Ï¡¢ºÇÂçµöÍƻؿô emax ¤ÈºÇ¾®µöÍƻؿô emin ¤È¤¤¤¦ 2 ¤Ä¤Î¥Ñ¥é¥á¡¼¥¿¤ò»ÈÍѤ·¤Þ¤¹¡£Í­°Õ·å¤¬¦Âp ¸Ä¤Ç¡¢µöÍƻؿô¤¬ emax - emin + 1 ¤È¤¹¤ì¤Ð¡¢ÉâÆ°¾®¿ôÅÀ¿ô¤Ï¼¡¤Î¤è¤¦¤Ë¥³¡¼¥Ç¥£¥ó¥°¤Ç¤­¤Þ¤¹¡£


ºÇ¸å¤Î + 1 ¤ÏÉä¹æ¥Ó¥Ã¥È¤òɽ¤ï¤·¤Þ¤¹¡£¤³¤³¤Ç¥³¡¼¥Ç¥£¥ó¥°¤½¤Î¤â¤Î¤Ï¡¢½ÅÍפǤϤ¢¤ê¤Þ¤»¤ó¡£¼Â¿ô¤¬ÉâÆ°¾®¿ôÅÀ¿ô¤È¤·¤Æ¤ÏÀµ³Î¤Ëɽ¸½¤µ¤ì¤Ê¤¤Íýͳ¤¬ 2 ¤Ä¤¢¤ê¤Þ¤¹¡£ºÇ¤â°ìÈÌŪ¤Ê¥±¡¼¥¹¤Ï¾®¿ôÅÀ¿ô 0.1 ¤ÎÎã¤Ç¤¹¡£¤³¤ì¤ÏÍ­¸Â¤Î 10 ¿Ê¾®¿ôÅÀ¿ô¤È¤·¤Æɽµ­¤µ¤ì¤Þ¤¹¤¬¡¢2 ¿Ê¿ô¤Ç¤Ï̵¸Â¤ÎÈ¿Éüɽ¸½¤Ë¤Ê¤ê¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢¦Â= 2 ¤Î¾ì¹ç¡¢0.1 ¤È¤¤¤¦¿ôÃͤÏÀµ³Î¤Ë¤Ï 2 ¤Ä¤ÎÉâÆ°¾®¿ôÅÀ¿ô¤Î´Ö¤Ë¸ºß¤·¤Æ¤ª¤ê¡¢¤¤¤º¤ì¤ÎÃͤǤâÀµ¤·¤¯¤Ïɽ¸½¤Ç¤­¤Ê¤¤¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£

¤Þ¤¿¡¢Ê̤ξõ¶·¤È¤·¤Æ¼Â¿ô¤¬Í­¸úÈϰϤòĶ¤¨¤ë¾ì¹ç¡¢¤¹¤Ê¤ï¤ÁÀäÂÐÃͤ¬¦Â × °Ê¾å¡¢¤¢¤ë¤¤¤Ï 1.0 × °Ê²¼¤Ë¤Ê¤Ã¤Æ¤¤¤ë¥±¡¼¥¹¤¬¹Í¤é¤ì¤Þ¤¹¡£¤³¤ÎÉÕÏ¿¤Ç¤Ï¡¢ºÇ½é¤ÎÌäÂê¤Ë¸Â¤Ã¤Æ°·¤¤¤Þ¤¹¡£¤Ê¤ª¡¢Í­¸úÈϰϤòĶ¤¨¤ë¿ôÃͤˤĤ¤¤Æ¤Ï¡¢¡Ö̵¸ÂÂç¡×¡¢¤ª¤è¤Ó ¡ÖÈóÀµµ¬²½¿ô¡×¤Î³Æ¹à¤ÇÀâÌÀ¤·¤Þ¤¹¡£

ÉâÆ°¾®¿ôÅÀɽ¸½¤Ï¡¢É¬¤º¤·¤â°ì°Õ¤Îɽ¸½¤Ë¤Ï¤Ê¤ê¤Þ¤»¤ó¡£
Î㤨¤Ð¡¢0.01 × 101 ¤È 1.00 × 10-1 ¤Ï¤¤¤º¤ì¤â 0.1 ¤òɽ¤ï¤·¤Þ¤¹¡£Àè¹Ô·å¤¬¥¼¥í°Ê³° (¾åµ­¤Î¸ø¼° (1) ¤Ç d0 ¡â 0 ¤Î¾ì¹ç) ¤Ç¤¢¤ì¤Ð¡¢É½¸½¤Ï¡ÖÀµµ¬²½¤µ¤ì¤Æ¤¤¤ë¡×¤È¸À¤¤¤Þ¤¹¡£ÉâÆ°¾®¿ôÅÀ¿ô 1.00 × 10-1 ¤ÏÀµµ¬²½¤µ¤ì¤Þ¤¹¤¬¡¢0.01 × 101 ¤ÏÀµµ¬²½¤µ¤ì¤Þ¤»¤ó¡£¦Â=2¡¢p = 3¡¢emin = -1¡¢emax = 2 ¤Î¾ì¹ç¡¢¿Þ D-1 ¤Ë¼¨¤¹¤È¤ª¤ê¡¢·× 16 ¸Ä¤ÎÀµµ¬²½ÉâÆ°¾®¿ôÅÀ¿ô¤¬Â¸ºß¤·¤Þ¤¹¡£¿Þ¤ÎÂÀÀþ¤ÏÍ­°Õ·å¤¬ 1.00 ¤È¤Ê¤ëÃͤòɽ¤ï¤·¤Þ¤¹¡£ÉâÆ°¾®¿ôÅÀɽ¸½¤òÀµµ¬²½¤¹¤ë¤È¡¢°ì°Õ¤Îɽ¸½¤¬ÆÀ¤é¤ì¤Þ¤¹¡£¤·¤«¤·¡¢¤³¤ÎÀ©¸Â¤Ë¤è¤Ã¤Æ¥¼¥í¤òɽ¸½¤¹¤ë¤³¤È¤¬¤Ç¤­¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£¥¼¥í¤òɽ¸½¤¹¤ë°ìÈÌŪ¤ÊÊýË¡¤È¤·¤Æ¡¢1.0 × ¤ò»ÈÍѤ·¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢ÈóÉé¤Î¼Â¿ô¤òɽ¤ï¤¹Èֹ椬ÉâÆ°¾®¿ôÅÀɽ¸½¤Î¼­½ñÊÔÀ®½ç¤ËÂбþ¤·¤Æ¤¤¤ë¤È¤¤¤¦»ö¼Â¤¬ÊÝ»ý¤µ¤ì¤Þ¤¹3¡£»Ø¿ô¤ò k ¥Ó¥Ã¥È¥Õ¥£¡¼¥ë¥É¤Ë³ÊǼ¤¹¤ë¤È¡¢1 ¥Ó¥Ã¥Èʬ¤Ï 0 ¤òɽ¤ï¤¹¤¿¤á¤ËͽÌ󤹤ëɬÍפ¬¤¢¤ë¤Î¤Ç¡¢2k - 1 ¤ÎÃͤÀ¤±¤¬»Ø¿ôÍѤȤ·¤Æ³ÎÊݤµ¤ì¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£

¤Ê¤ª¡¢ÉâÆ°¾®¿ôÅÀ¿ô¤Î × ¤Ïɽµ­¤Î°ìÉô¤È¤·¤Æ»ÈÍѤµ¤ì¤ë¤â¤Î¤Ç¡¢ÉâÆ°¾®¿ôÅÀ¤Î¾è»»µ­¹æ¤È¤Ï°Û¤Ê¤ê¤Þ¤¹¡£× µ­¹æ¤Î°ÕÌ£¤Ï¡¢Ê¸Ì®¤«¤é´ÊñȽÃǤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
Î㤨¤Ð¡¢(2.5 × 10-3) × (4.0 × 102) ¤È¤¤¤¦¼°¤Ç¤Ï¡¢ÉâÆ°¾®¿ôÅÀ¤Î¾è»»¤ò 1 ²ó¤À¤±¹Ô¤¦¤È¤¤¤¦°ÕÌ£¤Ë¤Ê¤ê¤Þ¤¹¡£

¿Þ D-1 Àµµ¬²½¿ô ¦Â= 2¡¢p = 3¡¢emin = -1¡¢emax = 2

ÁêÂÐ¸íº¹¤È ulp

ÉâÆ°¾®¿ôÅÀ±é»»¤Ç¤ÏËÜÍè¡¢´Ý¤á¸íº¹¤òÈò¤±¤ë¤³¤È¤¬¤Ç¤­¤Ê¤¤¤Î¤Ç¡¢¤³¤Î¸íº¹¤ò¬Äꤹ¤ëÊýË¡¤ò³ÎΩ¤·¤Æ¤ª¤¯¤³¤È¤¬½ÅÍפǤ¹¡£²¾¤Ë ¦Â=10¡¢p = 3¤È¤¤¤¦ÉâÆ°¾®¿ôÅÀ¥Õ¥©¡¼¥Þ¥Ã¥È¤ÎÎã¤ò¹Í¤¨¤Æ¤ß¤Þ¤¹ (¤³¤ÎÉÕÏ¿¤Ç¤Ï¡¢Æ±¤¸Îã¤ò»ÈÍѤ·¤Þ¤¹)¡£ÉâÆ°¾®¿ôÅÀ±é»»¤Î·ë²Ì¤¬ 3.12 × 10-2 ¤Î¾ì¹ç¤Ç¡¢²ò¤ò̵¸Â¤ÎÀºÅÙ¤ËÂФ·¤Æ·×»»¤¹¤ë¤È 0.0314 ¤Ë¤Ê¤ê¡¢ºÇ½ª·å¤Ë 2 ¥æ¥Ë¥Ã¥È¤Î¸íº¹¤¬¤¢¤ë¤³¤È¤¬¤ï¤«¤ê¤Þ¤¹¡£Æ±¤¸¤è¤¦¤Ë¡¢¼Â¿ô 0.0314159 ¤ò 3.14 × 10-2 ¤È¤·¤Æɽ¤ï¤¹¤È¡¢ºÇ½ª·å¤Î¸íº¹¤Ï 0.159 ¤È¤Ê¤ê¤Þ¤¹¡£°ìÈ̤ËÉâÆ°¾®¿ôÅÀ¿ô d.d...d × ¦Âe ¤ò»ÈÍѤ·¤Æ z ¤òɽ¤ï¤·¤¿¾ì¹ç¡¢ºÇ½ª·å¤Î¸íº¹¤Ï¡Ãd.d...d - (z/¦Âe)¡Ã¦Âp-1 ¥æ¥Ë¥Ã¥È¤È¤Ê¤ê¤Þ¤¹4 5¡£ulp¤È¤¤¤¦ÍѸì¤Ï¡¢"units in the last place" (ºÇ½ª·å¤Î¥æ¥Ë¥Ã¥È) ¤òά¤·¤¿¤â¤Î¤Ç¤¹¡£·×»»¤Î·ë²Ì¤¬¡¢Àµ³Î¤ÊÃͤ˥á¥â¥ê¡¼¤Î¶á¤¤ÉâÆ°¾®¿ôÅÀÃͤȤʤë¾ì¹ç¡¢0.5 ulp¤â¸íº¹¤¬¤¢¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£ÉâÆ°¾®¿ôÅÀÃͤȼ¿ô¤ÎÃÍ¤Î¸íº¹¤òɽ¤ï¤¹¾ì¹ç¤Ë¡¢ÁêÂÐ¸íº¹¤Î¶á»÷Ãͤòµá¤á¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ÁêÂÐ¸íº¹¤È¤Ï¡¢ÉâÆ°¾®¿ôÅÀ¿ô¤È¼Â¿ô¤Îº¹¤ò¼Â¿ôÃͤdzä¤Ã¤¿·ë²Ì¤Î¤³¤È¤Ç¤¹¡£Î㤨¤Ð¡¢3.14159 ¤ò 3.14 × 100 ¤Ë¤è¤Ã¤Æ¶á»÷ɽ¸½¤·¤¿¾ì¹ç¤ÎÁêÂÐ¸íº¹¤Ï 0.00159/3.14159=0.0005 ¤È¤Ê¤ê¤Þ¤¹¡£

0.5 ulp ¤ËÁêÅö¤¹¤ëÁêÂÐ¸íº¹¤ò·×»»¤¹¤ë¾ì¹ç¡¢¼ÂºÝ¤ÎÃͤ˺Ǥâ¶á¤¤Ãͤò d.dd...dd × ¦Âe ¤Çɽ¤ï¤¹¤È¡¢0.00...00¦Â¡ì× ¦Âe ¤â¤Î¸íº¹¤¬½Ð¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹ (¤³¤³¤Ç ¦Â¡ì¤Ï ¦Â/2 ¤Î·å¤òɽ¤ï¤·¡¢ÉâÆ°¾®¿ôÅÀ¿ô¤ÎÍ­°Õ·å¤Î¸íº¹¤¬ p ¥æ¥Ë¥Ã¥È¡¢¤Þ¤¿¸íº¹¤ÎÍ­°Õ·å p ¥æ¥Ë¥Ã¥È¤Ï¥¼¥í¤Ë¤Ê¤ê¤Þ¤¹)¡£¤³¤Î¸íº¹¤Ï ((¦Â/2)¦Â-p) × ¦Âe ¤Ç¤¹¡£d.dd...dd × ¦Âe ¤Î·Á¼°¤Î¿ô¤ÎÀäÂÐ¸íº¹¤Ï¤¹¤Ù¤ÆƱ¤¸¤Ë¤Ê¤ë°ìÊý¡¢ÃͤϤ¹¤Ù¤Æ¦Âe ¤«¤é ¦Â × ¦Âe ¤ÎÈϰϤˤ¢¤ë¤Î¤Ç¡¢ÁêÂÐ¸íº¹¤Ï ((¦Â/2)¦Â-p) × ¦Âe/¦Âe ¤È ((¦Â/2)¦Â-p) × ¦Âe/¦Âe+1 ¤ÎÈϰϤ˸ºß¤·¤Þ¤¹¡£

(2)

Æäˡ¢0.5 ulp ¤ËÁêÅö¤¹¤ëÁêÂÐ¸íº¹¤Ï¡¢¦Â ¤ò·¸¿ô¤È¤·¤Æ²ÄÊѤȤʤê¤Þ¤¹¡£¤³¤Î·¸¿ô¤Î¤³¤È¤ò¡Ö¥ï¥Ö¥ë¡×¤È¸À¤¤¤Þ¤¹¡£¦Å= (¦Â/2)¦Â-p ¤ò¾å¼° (2) ¤Î¾å¸Â¤ËÀßÄꤷ¤¿¾ì¹ç¡¢¼Â¿ôÃͤ¬ºÇ¤â¶á¤¤ÉâÆ°¾®¿ôÅÀ¿ô¤Ë´Ý¤á¤é¤ì¤ë¤È¡¢ÁêÂÐ¸íº¹¤Ïɬ¤º ¦Å ¤Ë¤è¤Ã¤Æ¶­³¦¤¬ÀßÄꤵ¤ì¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£¤³¤Î¤³¤È¤ò¡Ö¥Þ¥·¥ó¡¦¥¤¥×¥·¥í¥ó¡×¤È¸À¤¤¤Þ¤¹¡£

¾å¤ÎÎã¤Ç¡¢ÁêÂÐ¸íº¹¤Ï 0.00159/3.14159 = 0.0005 ¤È¤Ê¤ê¤Þ¤¹¡£¤³¤Î¤è¤¦¤Ê¾®¤µ¤¤¿ô¤òÈò¤±¤ë¤¿¤á¤Ë¡¢ÁêÂÐ¸íº¹¤ÏÄ̾·¸¿ô¤Ë¦Å¤ò¾è¤¸¤¿¿ô¤È¤·¤Æɽ¤ï¤·¤Þ¤¹
(¤³¤Î¾ì¹ç¡¢¦Å = (¦Â/2)¦Â-p= 5(10)-3 = 0.005 ¤È¤Ê¤ê¤Þ¤¹) ¡£¤·¤¿¤¬¤Ã¤Æ¡¢ÁêÂÐ¸íº¹¤Ï
(0.00159/3.14159)/0.005) ¦Å= 0.1¦Å ¤Èɽ¸½¤µ¤ì¤Þ¤¹¡£

ulp ¤ÈÁêÂÐ¸íº¹¤Î°ã¤¤¤òÀâÌÀ¤¹¤ë¤¿¤á¤Ë¡¢¼ÂÃÍ x = 12.35 ¤òÎã¤Ë¼è¤ê¤Þ¤¹¡£¤³¤ÎÃͤÏ
= 1.24 × 101 ¤Ë¤è¤ê¶á»÷ÃͤȤ·¤Æɽ¤ï¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¸íº¹¤Ï 0.5 ulp ¤Ç¡¢ÁêÂÐ¸íº¹¤Ï 0.8¦Å¤Ç¤¹¡£¼¡¤Ë 8 ¤ò·×»»¤·¤Þ¤¹¡£Àµ³Î¤ÊÃÍ¤Ï 8 x = 98.8 ¤Ç¡¢·×»»ÃͤÏ
8 = 9.92 × 101 ¤Ç¤¹¡£¸íº¹¤Ï 4.0 ulp ¤Ç¤¹¤¬¡¢ÁêÂÐ¸íº¹¤Ï°ÍÁ³¤È¤·¤Æ 0.8¦Å¤Ç¤¹¡£¤¹¤Ê¤ï¤ÁÁêÂÐ¸íº¹¤ÏÊѤï¤é¤Ê¤¤°ìÊý¡¢ulp ¸íº¹¤Î¬ÄêÃÍ¤Ï 8 ÇÜÂ礭¤¯¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£°ìÈ̤ˡ¢´ð¿ô¤¬ ¦Â ¤Î¾ì¹ç¡¢ulp ¤Ë¤è¤ëÁêÂÐ¸íº¹¤ÏºÇÂç ¦Â ¤Î·¸¿ôʬ¤À¤±ÊÑÆ°¤¹¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£µÕ¤Ë¡¢¾å¼° (2) ¤Ë¼¨¤¹¤È¤ª¤ê¡¢0.5 ulp ¤È¤¤¤¦¸ÇÄê¸íº¹¤Ë¤è¤ê¦Â ʬ¤À¤±ÊÑÆ°¤¹¤ëÁêÂÐ¸íº¹¤¬À¸¤¸¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£

´Ý¤á¸íº¹¤òɽ¤ï¤¹ºÇ¤â¼«Á³¤ÊÊýË¡¤Ï ulp ¤ò»ÈÍѤ¹¤ë·Á¼°¤Ç¤¹¡£Î㤨¤Ð¡¢ºÇ¤â¶á¤¤ÉâÆ°¾®¿ôÅÀ¿ô¤Ë´Ý¤á¤ë¤È¤¤¤¦Áàºî¤Ï¡¢¸íº¹¤¬ 0.5 ulp °Ê²¼¤Ë¤Ê¤ë¤È¤¤¤¦¤³¤È¤Ç¤¹¡£¤¿¤À¤·¡¢³Æ¼ï¤Î¸ø¼°¤¬¸¶°ø¤Çµ¯¤­¤ë´Ý¤á¸íº¹¤òʬÀϤ¹¤ë¾ì¹ç¤Ï¡¢ÁêÂÐ¸íº¹¤ÎÊý¤¬Àµ³Î¤Ç¤¹¡£¤³¤ì¤Ë¤Ä¤¤¤Æ¤Ï 226¥Ú¡¼¥¸¤Ç¾Ü¤·¤¯Ê¬ÀϤ·¤Þ¤¹¡£¦Å¤Ï¡¢ºÇ¤â¶á¤¤ÉâÆ°¾®¿ôÅÀÃͤè¤ê¡¢¥ï¥Ö¥ë·¸¿ô¦Â ʬ¤À¤±Â¿¤¯¤Ê¤ë²ÄǽÀ­¤¬¤¢¤ë¤Î¤Ç¡¢¸ø¼°¤Ë¤è¤ë¸íº¹¤Î·×»»¤Ï¡¢¦Â ¤Î¾®¤µ¤¤¥Þ¥·¥ó¤Ç¤Ï¤½¤ì¤À¤±¶ÛÌ©¤Ë¤Ê¤ê¤Þ¤¹¡£

´Ý¤á¸íº¹¤ÎÂ礭¤µ¤À¤±¤¬ÌäÂê¤Î¾ì¹ç¡¢ulp¤È¦Å ¤Îº¹¤Ï¿¤¯¤Æ¤â¦Â °ÊÆâ¤ËÍÞ¤¨¤é¤ì¤ë¤Î¤Ç¡¢Æþ¤ì´¹¤¨¤Æ»ÈÍѤ·¤Æ¤â¤«¤Þ¤¤¤Þ¤»¤ó¡£Î㤨¤Ð¡¢ÉâÆ°¾®¿ôÅÀ¿ô¤Ë n ulp ¤À¤±¸íº¹¤¬¤¢¤ë¾ì¹ç¡¢±øÀ÷·å¤Î¿ô¤¬ log¦Â n ¤È¤Ê¤ë¤È¤¤¤¦°ÕÌ£¤Ç¤¹¡£·×»»¾å¤ÎÁêÂÐ¸íº¹¤¬ n¦Å ¤Î¾ì¹ç¤Ï¡¢¼¡¤Î¤è¤¦¤Ëɽ¤ï¤µ¤ì¤Þ¤¹¡£

contaminated digits log¦Â n (3)

Êݸî·å

2 ¤Ä¤ÎÉâÆ°¾®¿ôÅÀ¿ô¤Îº¹¤ò·×»»¤¹¤ë 1 ¤Ä¤ÎÊýË¡¤È¤·¤Æ¡¢º¹¤½¤Î¤â¤Î¤ÎÃͤòÀµ³Î¤Ëµá¤á¤Æ¡¢¤³¤ì¤òºÇ¤â¶á¤¤Ãͤ˴ݤá¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤³¤ÎÊýË¡¤Ï¡¢¥ª¥Ú¥é¥ó¥É¤Î¥µ¥¤¥º¤¬Â礭¤¯¤Ê¤ë¤È¡¢¤½¤Îʬ¡¢¥³¥¹¥È¤¬¤«¤«¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£p = 3 ¤È¤¹¤ë¤È 2.15 × 1012 - 1.25 × 10-5 ¤Ï¼¡¤Î¤è¤¦¤Ë·×»»¤Ç¤­¤Þ¤¹¡£

x = 2.15 × 1012
y = 0.0000000000000000125 × 1012
x - y = 2.1499999999999999875 × 1012

¤³¤ì¤Ë¤è¤ê 2.15 × 1012 ¤Ë´Ý¤á¤é¤ì¤Þ¤¹¡£ÉâÆ°¾®¿ôÅÀÂбþ¤Î¥Ï¡¼¥É¥¦¥§¥¢¤ÏÄ̾¤³¤ì¤é¤Î·å¤ò¤¹¤Ù¤ÆÀêÍ­¤¹¤ë¤Î¤Ç¤Ï¤Ê¤¯¡¢¸ÇÄꤵ¤ì¤¿·å¿ô¤òÂоݤȤ·¤Æ±é»»¤ò¹Ô¤¤¤Þ¤¹¡£³ÎÊݤµ¤ì¤¿·å¿ô¤¬ p ¤Î¾ì¹ç¡¢¤³¤ì¤è¤ê¾®¤µ¤¤¥ª¥Ú¥é¥ó¥É¤¬±¦¤Ë¥·¥Õ¥È¤µ¤ì¤ë¤È¡¢³Æ·å¤Ïñ¤ËÇË´þ¤µ¤ì¤Þ¤¹ (´Ý¤á¤é¤ì¤Þ¤»¤ó)¡£2.15 × 1012 - 1.25  × 10-5 ¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£

x = 2.15 × 1012
y = 0.00 × 1012
x - y = 2.15 × 1012

²ò¤Ï¡¢º¹¤òÀµ³Î¤Ë·×»»¤·¤¿¾ì¹ç¤È¤Þ¤Ã¤¿¤¯Æ±¤¸¤Ë¤Ê¤ê¡¢¤³¤Î·ë²Ì¤¬´Ý¤á¤é¤ì¤Þ¤¹¡£Ê̤ÎÎã¤ò¹Í¤¨¤Æ¤ß¤Þ¤¹¡£10.1 - 9.93 ¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£

x = 1.01 × 101
y = 0.99 × 101
x - y = 0.02 × 101

Àµ³Î¤Ê²ò¤Ï 0.17 ¤Ê¤Î¤Ç¡¢·×»»¾å¤Îº¹¤Ï 30 ulp ¤È¤Ê¤ê¡¢Á´Éô¤Î·å¤Ë¸íº¹¤¬À¸¤¸¤Æ¤¤¤Þ¤¹¡£¤Ê¤¼¡¢¤³¤ì¤Û¤ÉÂ礭¤Ê¸íº¹¤¬½Ð¤ë¤Î¤Ç¤·¤ç¤¦¡£

ÄêÍý 1

¥Ñ¥é¥á¡¼¥¿ b ¤È p ¤ò»ÈÍѤ·¤¿ÉâÆ°¾®¿ôÅÀ¥Õ¥©¡¼¥Þ¥Ã¥È¤Ç p ·å¤Îº¹¤ò·×»»¤·¤¿¾ì¹ç¡¢·ë²Ì¤ÎÁêÂÐ¸íº¹¤ÏºÇÂç¡¢b - 1 ¤Ë¤Ê¤ë¡£

¾ÚÌÀ

¼° x - y ¤Ç ¦Â - 1 ¤ÎÁêÂÐ¸íº¹¤Ï¡¢x = 1.00...0 ¡¢y = .¦Ñ¦Ñ...¦Ñ (¦Ñ = ¦Â - 1) ¤Î¾ì¹ç¤ËÀ¸¤¸¤Þ¤¹¡£¤³¤³¤Ç y ¤Î·å¿ô¤Ï p ¤Ç¤¹ (¤¹¤Ù¤Æ ¦Ñ)¡£Àµ³Î¤Êº¹¤Ï x - y = ¦Â-p ¤Ç¤¹¡£¤¿¤À¤· p ·å¤À¤±¤Ç²òÅú¤òµá¤á¤ë¤È¡¢y ¤ÎºÇ²¼°Ì·å¤¬¥·¥Õ¥È¥ª¥Õ¤¹¤ë¤Î¤Ç¡¢·×»»¾å¤Îº¹¤Ï ¦Â-p+1 ¤Ç¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢¸íº¹¤Ï ¦Â-p - ¦Â-p+1 = ¦Â-p (¦Â - 1) ¤Ç¡¢ÁêÂÐ¸íº¹¤Ï ¦Â-p(¦Â - 1)/¦Â-p = ¦Â - 1 ¤Ç¤¹¡£¢£

¦Â = 2 ¤Î¾ì¹ç¡¢ÁêÂÐ¸íº¹¤Ï·ë²Ì¤ÈƱ¤¸¤¯¤é¤¤Â礭¤¯¤Ê¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£¤Þ¤¿¦Â = 10 ¤Î¾ì¹ç¡¢9 Çܤˤʤ뤳¤È¤¬¤¢¤ê¤Þ¤¹¡£¸À¤¤´¹¤¨¤ë¤È¡¢¦Â = 2 ¤Î¾ì¹ç¡¢¾åµ­¤Î¼° (3) ¤Ï±øÀ÷·å¤Î¿ô¤¬ log2(1/¦Å) = log2(2p) = p ¤Ë¤Ê¤ë¤³¤È¤ò¼¨¤·¤Þ¤¹¡£¤¹¤Ê¤ï¤Á·ë²Ì¤Î p ·å¤Ï¤¹¤Ù¤Æ¸í¤Ã¤Æ¤¤¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£¤³¤Î¾õ¶·¤ò²ò·è¤¹¤ë¤¿¤á¤Ë¡¢Êݸî·å¤È¤·¤Æ 1 ·åʬ¤òÄɲ䷤Ƥߤޤ¹¡£¤¹¤Ê¤ï¤Á¾®¤µ¤¤¿ô»ú¤ò p + 1 ·å¤ËÀÚ¤ê¼Î¤Æ¤Æ¡¢¸º»»¤Î·ë²Ì¤ò p ·å¤Ë´Ý¤á¤Þ¤¹¡£¤³¤ÎÊݸî·å¤ò»ÈÍѤ¹¤ë¤È¡¢Á°¤ÎÎã¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£

x = 1.010 × 101
y = 0.993 × 101
x - y = 0.017 × 101

¤Þ¤¿²ò¤âÀµ¤·¤¯¤Ê¤ê¤Þ¤¹¡£110 - 8.59 ¤Î¾ì¹ç¡¢1 ·å¤ÎÊݸî·å¤òÀߤ±¤ë¤È¡¢·ë²Ì¤ÎÁêÂÐ¸íº¹¤Ï¡¢¦Å¤è¤êÂ礭¤¯¤Ê¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£

x = 1.10 × 102
y = 0.085 × 102
x - y = 1.015 × 102

¤³¤ì¤ò´Ý¤á¤ë¤È 102 ¤Ë¤Ê¤ê¤Þ¤¹¡£°ìÊý¡¢Àµ¤·¤¤²ò¤Ï 101.41 ¤Ç¡¢ÁêÂÐ¸íº¹¤Ï 0.006 ¤È¤Ê¤ê¡¢¦Å = 0.005 ¤è¤êÂ礭¤¯¤Ê¤ê¤Þ¤¹¡£°ìÈ̤ˤϡ¢·ë²Ì¤ÎÁêÂÐ¸íº¹¤Ï ¦Å¤è¤ê¤ï¤º¤«¤ËÂ礭¤¯¤Ê¤ê¤Þ¤¹¡£Àµ³Î¤Ëɽ¤ï¤¹¤È¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£

ÄêÍý 2

x ¤È y ¤¬ ¦Â ¤È p ¤Î¥Ñ¥é¥á¡¼¥¿¤ò»ÈÍѤ·¤¿¥Õ¥©¡¼¥Þ¥Ã¥È¤Ë¤Ê¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ë¡¢ p + 1 ·å (1 Êݸî·å) ¤Ç¸º»»¤ò¹Ô¤¦¤È¡¢·ë²Ì¤ÎÁêÂÐ¸íº¹¤Ï 2¦Å ¤è¤ê¾¯¤Ê¤¯¤Ê¤ë¡£

¤³¤ÎÄêÍý¤Ë¤Ä¤¤¤Æ¤Ï ¡Ö´Ý¤á¸íº¹¡×¤Ç¾ÚÌÀ¤·¤Þ¤¹¡£¤Ê¤ª¡¢x ¤È y ¤ÏÀµÉé¤Î¤¤¤º¤ì¤Ç¤¢¤Ã¤Æ¤â¤«¤Þ¤ï¤Ê¤¤¤Î¤Ç¡¢¾åµ­¤ÎÄêÍý¤Ç¤Ï²Ã»»¤ò»ÈÍѤ·¤Æ¤¤¤Þ¤¹¡£

Á껦

¤³¤ÎºÇ¸å¤Î¹à¤Î·ëÏÀ¤Ï¡¢Êݸî·å¤¬¤Ê¤±¤ì¤Ð¡¢2 ¤Ä¤Î¶á¤¤ÃͤǸº»»¤ò¤·¤¿¾ì¹ç¤ËÀ¸¤¸¤ëÁêÂÐ¸íº¹¤Ï¡¢¤­¤ï¤á¤ÆÂ礭¤¯¤Ê¤ë²ÄǽÀ­¤¬¤¢¤ë¡¢¤È¤¤¤¦¤³¤È¤Ç¤¹¡£¤¹¤Ê¤ï¤Á¸º»» (ÉéÉä¹æ¤ò»ÈÍѤ·¤¿²Ã»» ) ¤òȼ¤¦¼°¤òɾ²Á¤·¤¿·ë²Ì¡¢ÁêÂÐ¸íº¹¤¬Â礭¤¯¤Ê¤ê¤¹¤®¤Æ¡¢·å¤¬¤¹¤Ù¤Æ̵°ÕÌ£¤Ë¤Ê¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹ (ÄêÍý1)¡£¸ß¤¤¤Ë¶á¤¤Ãͤò¸º»»¤¹¤ë¤È¡¢¥ª¥Ú¥é¥ó¥É¤ÎºÇ¾å°Ì·å¤¬¤½¤ì¤¾¤ì°ìÃפ·¤Æ¡¢Áê¸ß¤ËÁ껦¤µ¤ì¤Þ¤¹¡£¤³¤ÎÁ껦¤Ë¤Ï°­À­¤ÈÎÉÀ­¤Î 2 ¼ïÎब¤¢¤ê¤Þ¤¹¡£

°­À­¤ÎÁ껦¤Ï¡¢¥ª¥Ú¥é¥ó¥É¤¬´Ý¤á¸íº¹¤Î±Æ¶Á¤ò¼õ¤±¤ë¾ì¹ç¤ËÀ¸¤¸¤Þ¤¹¡£Î㤨¤Ð¡¢Æó¼¡ÊýÄø¼°¤Îº¬¤Î¸ø¼°¤ÎÃæ¤Ë¤¢¤ë b2 - 4ac ¤Î¾ì¹ç¤Ç¤¹¡£b2 ¤È 4ac ¤ÏÉâÆ°¾®¿ôÅÀ¤Î¾è»»¤Î·ë²Ì¤È¤Ê¤ë¤Î¤Ç¡¢¤¤¤º¤ì¤â´Ý¤á¸íº¹¤Î±Æ¶Á¤ò¼õ¤±¤Þ¤¹¡£²¾¤Ë¤³¤ì¤é¤ÎÃͤ¬¡¢ºÇ¤â¶á¤¤ÉâÆ°¾®¿ôÅÀ¿ô¤Ë´Ý¤á¤é¤ì¡¢ÀºÅÙ¤¬ 0.5 ulp °ÊÆâ¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤È¤·¤Þ¤¹¡£¸º»»¤ò¹Ô¤¦¤È¤­¤ÎÁ껦¤Ë¤è¤Ã¤ÆÀµ³Î¤Ê·å¤¬Â¿¿ô¾Ã¼º¤·¡¢´Ý¤á¸íº¹¤Ë¤è¤Ã¤Æ±øÀ÷¤µ¤ì¤¿·å¤À¤±¤¬»Ä¤µ¤ì¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢º¹¤ÎÃæ¤Ë ulp ¤ÎÂ礭¤¤¸íº¹¤¬´Þ¤Þ¤ì¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£Î㤨¤Ð¡¢b = 3.34¡¢a = 1.22¡¢c = 2.28 ¤Ç¤¢¤ë¤È²¾Äꤷ¤Þ¤¹¡£ b2 - 4ac ¤ÎÀµ³Î¤ÊÃͤϡ¢0.0292 ¤Ç¤¹¡£¤·¤«¤·¡¢ b2 ¤Ï 11.2 ¤Ë¡¢¤Þ¤¿ 4ac ¤Ï 11.1 ¤Ë¤½¤ì¤¾¤ì´Ý¤á¤é¤ì¤ë¤Î¤Ç¡¢ºÇ½ªÅª¤Ê²ò¤Ï 0.1 ¤È¤Ê¤ê¡¢²¾¤Ë 11.2 - 11.1 ¤¬ 0·1 ¤Ç¤¢¤Ã¤¿¤È¤·¤Æ¤â¡¢70 ulp¤â¤Î¸íº¹¤¬½Ð¤Þ¤¹ 6¡£¸º»»¼«ÂΤ¬¸íº¹¤Î¸¶°ø¤Ë¤Ê¤Ã¤¿¤Î¤Ï¤Ê¤¯¡¢°ÊÁ°¤Î¾è»»¤ÇƳÆþ¤µ¤ì¤¿¸íº¹¤¬ÌÀ¤é¤«¤Ë¤Ê¤Ã¤¿¤È¤¤¤¦¤³¤È¤Ç¤¹¡£

°ìÊý¡¢ÎÉÀ­¤ÎÁ껦¤Ï¡¢´ûÃΤοôÎ̤ò¸º»»¤¹¤ë¤È¤­¤Ëµ¯¤­¤Þ¤¹¡£x ¤È y ¤Ë´Ý¤á¸íº¹¤¬¤Ê¤¤¾ì¹ç¡¢Êݸî·å¤ò»ÈÍѤ·¤Æ¸º»»¤ò¹Ô¤¦¤È¡¢ÄêÍý 2 ¤Ë¤è¤ê x - y ¤Îº¹¤ÎÁêÂÐ¸íº¹¤ÏÈó¾ï¤Ë¾®¤µ¤¯ (2¦Å °Ê²¼) ¤Ê¤ê¤Þ¤¹¡£

°­À­¤ÎÁ껦¤Î¸¶°ø¤È¤Ê¤ë¸ø¼°¤ÏÊÔÀ®¤òÊѹ¹¤¹¤ë¤³¤È¤Ë¤è¤ê¡¢ÌäÂê¤ò²ò·è¤Ç¤­¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£¼¡¤ÎÆó¼¡ÊýÄø¼°¤Îº¬¤Î¸ø¼°¤ÎÎã¤ò¸«¤Æ¤ß¤Þ¤¹¡£

(4)

b2 ¤¬ ¤Î¾ì¹ç¡¢ ¤Ë¤ÏÁ껦¤¬¹Ô¤ï¤ì¤Ê¤¤¤Î¤Ç¡¢ ¤È¤Ê¤ê¤Þ¤¹¡£¤¿¤À¤·¡¢2 ¤Ä¤Î¸ø¼°¤Î¤¦¤Á¤Î¤â¤¦°ìÊý¤Î²Ã»» (¸º»») ¤¬¸¶°ø¤È¤Ê¤Ã¤Æ°­À­¤ÎÁ껦¤¬¹Ô¤ï¤ì¤Þ¤¹¡£¤³¤ÎÌäÂê¤òÈò¤±¤ë¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ë r1 ¤Îʬ»Ò¤ÈʬÊì¤ò¾è»»¤·¤Æ (r2 ¤Î¾ì¹ç¤âƱÍͤË)¡¢


¼¡¤Î¼°¤òµá¤á¤Þ¤¹¡£

(5)

¤Ç¡¢b > 0 ¤Î¾ì¹ç¡¢¸ø¼° (4) ¤ò»ÈÍѤ·¤Æ r1 ¤ò·×»»¤¹¤ë¤È¡¢Á껦¤¬¹Ô¤ï¤ì¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢r1 ¤Î·×»»¤Ë¤Ï¸ø¼° (5)¡¢¤Þ¤¿ r2 ¤Î·×»»¤Ë¤Ï¸ø¼° (4) ¤ò»ÈÍѤ¹¤ë¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£°ìÊý¡¢b < 0 ¤Î¾ì¹ç¤Ï¡¢r1 ¤Î·×»»¤Ë¸ø¼° (4)¡¢¤Þ¤¿ r2 ¤Î·×»»¤Ë¸ø¼° (5) ¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£

x2 - y2 ¤Î¼°¤â°­À­¤ÎÁ껦¤òȼ¤¦¸ø¼°¤Ç¤¹¡£(x - y)(x + y) ¤È¤·¤Æɾ²Á¤¹¤ëÊý¤¬Àµ³Î¤Ç¤¹7¡£Æó¼¡ÊýÄø¼°¤Îº¬¤Î¸ø¼°¤È¤Ï°Û¤Ê¤ê¡¢¤³¤Î¼°¤ÎÊý¤Ë¤â¸º»»¤òȼ¤¤¤Þ¤¹¤¬¡¢´Ý¤á¸íº¹¤¬²ðºß¤·¤Ê¤¤ÎÉÀ­¤ÎÁ껦¤Ê¤Î¤Ç°­À­¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£ÄêÍý 2 ¤Ë¤è¤ê¡¢x - y ¤ÎÁêÂÐ¸íº¹¤Ï¿¤¯¤Æ¤â 2¦Å ¤ËÍÞ¤¨¤é¤ì¤Þ¤¹¡£¤³¤ì¤Ï¡¢x + y ¤Ë¤â¤¢¤Æ¤Ï¤Þ¤ê¤Þ¤¹¡£ÁêÂÐ¸íº¹¤Î¾¯¤Ê¤¤¿ôÎ̤ò¾è»»¤·¤Æ¤â¡¢ÀѤÎÁêÂÐ¸íº¹¤Ï¾®¤µ¤¯¤Ê¤ê¤Þ¤¹ (¡Ö´Ý¤á¸íº¹¡×¤ò»²¾È) ¡£

Àµ³Î¤ÊÃͤȷ׻»Ãͤκ®Íð¤òÈò¤±¤ë¤¿¤á¤Ë¡¢¼¡¤Î¤è¤¦¤Êɽµ­¤ò»ÈÍѤ·¤Þ¤¹¡£¤Þ¤º x - y ¤Ï¡¢x ¤È y ¤ÎÀµ³Î¤Êº¹¤òɽ¤ï¤¹¤â¤Î¤È¤·¤Þ¤¹¡£¤Þ¤¿ x ¤«¤é y ¤ò¸º»»¤·¤¿·×»»Ãͤòɽ¤ï¤¹¾ì¹ç¤Ï¡¢x  y ¤Èɽµ­¤·¤Þ¤¹¡£Æ±Íͤˡ¢ ¡¢ ¡¢ ¤Ï½ç¤Ë²Ã»»¡¢¾è»»¡¢½ü»»¤Î³Æ·×»»Ãͤòɽ¤ï¤·¤Þ¤¹¡£¤¹¤Ù¤ÆÂçʸ»ú¤Î¾ì¹ç¡¢ÆÃÄê¤Î´Ø¿ô¤Î·×»»ÃÍ (Î㤨¤Ð LN(x)¡¢SQRT(x) ¤Ê¤É) ¤òɽ¤ï¤·¤Þ¤¹¡£¾®Ê¸»ú¤È°ìÈÌŪ¤Ê¿ô³Øµ­¹æ¤Ï¡¢Ãͤ½¤Î¤â¤Î (Î㤨¤Ð ln(x)¡¢ ¤Ê¤É) ¤òɽ¤ï¤¹¤â¤Î¤È¤·¤Þ¤¹¡£

x2 - y2 ¤Î¶á»÷Ãͤòɽ¤ï¤¹¾ì¹ç¡¢(x y) (x y) ¤È¤¤¤¦É½µ­¤Ï¤­¤ï¤á¤Æ¸ú²ÌŪ¤Ç¤¹¤¬¡¢x ¤È y ¤ÎÉâÆ°¾®¿ôÅÀ¿ô¼«ÂΤ¬ ¤È ¤Î¿¿¤ÎÃͤζá»÷Ãͤˤʤ뤳¤È¤¬¤¢¤ê¤Þ¤¹¡£Î㤨¤Ð¡¢ ¤È ¤¬¡¢2 ¿Êɽµ­¤Ç¤ÏÀµ³Î¤Ë¤Ïɽ¤ï¤»¤Ê¤¤ 10 ¿Ê¿ô¤Ç¤¢¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢x y ¤¬ x - y ¤Î¶á»÷Ãͤòɽ¤ï¤¹¤Ë¤·¤Æ¤â¡¢¿¿¤Î¼° - ¤ËÈæ¤Ù¡¢ÁêÂÐ¸íº¹¤ÏÂ礭¤¯¤Ê¤ë¤Î¤Ç¡¢x2 - y2 ¤ËÂФ¹¤ë (x + y)(x - y) ¤ÎÍøÅÀ¤Ï¡¢¤½¤ì¤Û¤ÉÂ礭¤¯¤Ï¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£(x + y)(x - y) ¤È x2 - y2 ¤Î·×»»Éé²Ù¤Ï¤Û¤È¤ó¤ÉƱ¤¸¤Ê¤Î¤Ç¡¢¤³¤Î¾ì¹ç¤Ë¸Â¤ê (x + y)(x - y) ¤ÎÊý¤¬Í­Íø¤È¤¤¤¦¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£¤¿¤À¤·°ìÈ̤ˤϡ¢ÆþÎϤ¬¶á»÷ÃͤǤϤʤ¤¤³¤È¤¬Â¿¤¤¤Î¤Ç¡¢°­À­¤ÎÁ껦¤òÎÉÀ­¤ÎÁ껦¤ËÃÖ¤­´¹¤¨¤ë°ÕÌ£¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤È¤Ï¸À¤¨¡¢¥Ç¡¼¥¿¤¬Àµ¤·¤¯¤Ê¤¤¾ì¹ç¤Ç¤â¡¢Á껦¤òÁ´ÌÌŪ¤ËÇÓ½ü (Æó¼¡ÊýÄø¼°¤Îº¬¤Î¸ø¼°¤Î¤è¤¦¤Ë) ¤Ç¤­¤ì¤Ð¡¢°ÕÌ£¤¬¤¢¤ê¤Þ¤¹¡£¤³¤ÎÉÕÏ¿¤Ç¤Ï¡¢¤¢¤ë¥¢¥ë¥´¥ê¥º¥à¤ËÂФ¹¤ëÉâÆ°¾®¿ôÅÀ¤ÎÆþÎϤ¬Àµ¤·¤¯¡¢·ë²Ì¤â²Äǽ¤Ê¸Â¤êÀµ³Î¤Ë·×»»¤µ¤ì¤ë¤³¤È¤òÁ°Äó¤È¤·¤Þ¤¹¡£

x2 - y2 ¤Î¼°¤Ï¡¢(x - y)(x + y) ¤È¤·¤Æ½ñ¤­´¹¤¨¤ë¤È¡¢°­À­¤ÎÁ껦¤¬ÎÉÀ­¤ÎÁ껦¤ËÃÖ¤­´¹¤¨¤é¤ì¤ë¤Î¤Ç¡¢¤è¤êÀµ³Î¤Ë¤Ê¤ê¤Þ¤¹¡£

¼¡¤Ë¡¢°­À­¤ÎÁ껦¤òÎÉÀ­¤ÎÁ껦¤ËÃÖ¤­´¹¤¨¤ë¤³¤È¤Î¤Ç¤­¤ë¸ø¼°¤ÎÎã¤ò¾Ò²ð¤·¤Þ¤¹¡£

»°³Ñ·Á¤ÎÌÌÀѤϡ¢¼¡¤Î¤è¤¦¤Ë 3 ÊÕ a¡¢b¡¢c ¤ÎŤµ¤ÇľÀÜɽ¤ï¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£

(6)

»°³Ñ·Á¤¬Èó¾ï¤ËÊ¿¤¿¤¤·Á¾õ¤Ç¤¢¤ë (a b + c) ¤È²¾Äꤷ¤Þ¤¹¡£s a ¤È¤Ê¤ë¤Î¤Ç¡¢¼° (6) ¤Î¹à (s - a) ¤Ç¤Ï¡¢2 ¤Ä¤Î¶á¤¤ÃÍ (°ìÊý¤Ë´Ý¤á¸íº¹¤¬´Þ¤Þ¤ì¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹) ¤Î¸º»»¤ò¹Ô¤¤¤Þ¤¹¡£Î㤨¤Ð a = 9.0¡¢b = c = 4.53 ¤Î¾ì¹ç¡¢Àµ¤·¤¤ÃÍ¤Ï 9.03 ¤Ç A ¤Ï 2.342...¤È¤Ê¤ê¤Þ¤¹¡£·×»»ÃÍ s (9.05) ¤Ë 2 ulp ¤Î¸íº¹¤¬¤¢¤ê¤Þ¤¹¤¬¡¢A ¤Î·×»»ÃÍ¤Ï 3.04 ¤Ê¤Î¤Ç¸íº¹¤Ï 70 ulp ¤È¤Ê¤ê¤Þ¤¹¡£

ʿó¤Ê»°³Ñ·Á¤Î¾ì¹ç¤Ç¤â¡¢Àµ³Î¤Ê·ë²Ì¤¬ÆÀ¤é¤ì¤ë¤è¤¦¤Ë¡¢¸ø¼° (6) ¤ò¼¡¤Î¤è¤¦¤Ë½ñ¤­´¹¤¨¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹ (Kahan¡¢1986)¡£

(7)

a¡¢b¡¢c ¤Ï a ¡æ b ¡æ c ¤Î¾ò·ï¤òËþ¤¿¤µ¤Ê¤¤¾ì¹ç¤Ï¡¢¤½¤ì¤¾¤ì¤Î̾Á°¤òÊѹ¹¤·¤Æ¤«¤é¡¢¸ø¼° (7) ¤ò»ÈÍѤ·¤Þ¤¹¡£ (6) ¤È (7) ¤Î±¦ÊÕ¤¬Âå¿ôŪ¤ËƱ°ì¤Ç¤¢¤ë¤³¤È¤ÏÈæ³ÓŪ´Êñ¤Ë¥Á¥§¥Ã¥¯¤Ç¤­¤Þ¤¹¡£a¡¢b¡¢c ¤ÎÃͤˤè¤ê¡¢ÌÌÀÑ 2.35 ¤¬µá¤á¤é¤ì¤Þ¤¹¡£¤³¤Î¸íº¹¤Ï 1 ulp ¤Ç¡¢ºÇ½é¤Î¸ø¼°¤è¤ê¤Ï¤ë¤«¤ËÀµ³Î¤Ç¤¢¤ë¤³¤È¤¬¤ï¤«¤ê¤Þ¤¹¡£

¤³¤ÎÎã¤Î¾ì¹ç¡¢¸ø¼° (7) ¤Ï¸ø¼° (6) ¤è¤ê¤Ï¤ë¤«¤ËÀµ³Î¤Ç¤¢¤ë¤Î¤Ç¡¢°ìÈ̤˸ø¼° (7) ¤¬Í­¸ú¤Ç¤¢¤ë¤È¸À¤¨¤Þ¤¹¡£

ÄêÍý 3

¸ø¼° (7) ¤ò»ÈÍѤ·¤Æ»°³Ñ·Á¤ÎÌÌÀѤòµá¤á¤¿¤È¤­¤Ëµ¯¤­¤ë´Ý¤á¸íº¹¤Ï¡¢Êݸî·å¤Ç¸º»»¤ò¹Ô¤¤¡¢ e ¡å 0.005 ¤Ç¡¢Ê¿Êýº¬¤¬ 1/2 ulp °Ê²¼¤ÎÈϰϤǷ׻»¤µ¤ì¤ë¸Â¤ê¡¢11¦Å°ÊÆâ¤ËÍÞ¤¨¤é¤ì¤ë¡£

e < 0.005¤È¤¤¤¦¾ò·ï¤Ï¡¢»ö¼Â¾å¤¢¤é¤æ¤ëÉâÆ°¾®¿ôÅÀ¥·¥¹¥Æ¥à¤ÇËþ¤¿¤µ¤ì¤Þ¤¹¡£Î㤨¤Ð¡¢¦Â = 2 ¤Î¾ì¹ç¡¢ p ¡æ 8 ¤Ç¤¢¤ì¤Ð¡¢É¬¤º e < 0.005 ¤Ë¤Ê¤ê¡¢¦Â = 10 ¤Ç¤¢¤ì¤Ð p ¡æ 3 ¤Ç½½Ê¬¤È¤¤¤¦¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£

¼°¤ÎÁêÂÐ¸íº¹¤Ë´Ø¤¹¤ëÄêÍý 3 ¤Îµ­½Ò¤Ç¤Ï¡¢¼°¤¬ÉâÆ°¾®¿ôÅÀ±é»»¤Ë¤è¤Ã¤Æ·×»»¤µ¤ì¤ë¤³¤È¤¬¤ï¤«¤ê¤Þ¤¹¡£¼ÂºÝ¤Ë¡¢ÁêÂÐ¸íº¹¤Ï¼°¤Ë´Ø¤¹¤ë¤â¤Î¤Ç¤¹¡£

SQRT((a (b c)) (c (a b)) (c (a b)) (a (b c))) 4 (8)

¸ø¼° (8) ¤Î¹½Â¤¤ÏÊ£»¨¤ËÆþ¤êÁȤó¤Ç¤¤¤ë¤Î¤Ç¡¢ÄêÍý¤Îµ­½Ò¤Ç¤Ï¡¢E ¤ò´ÝÉÕ¤­¤Îɽµ­¤Çɽ¤ï¤¹¤Î¤Ç¤Ï¤Ê¤¯¡¢E ¤Î·×»»ÃͤȤ·¤Æ°·¤¤¤Þ¤¹¡£

¸íº¹¤ÎÈϰϤÏÈá´ÑŪ¤¹¤®¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£¾åµ­¤Î¤è¤¦¤Ê¿ôÃͤÎÎã¤Î¾ì¹ç¡¢¸ø¼° (7) ¤Î·×»»ÃÍ¤Ï 2.35 ¤Ç¡¢Àµ¤·¤¤ÃͤǤ¢¤ë 2.34216 ¤ÈÈæ³Ó¤¹¤ë¤È¡¢ÁêÂÐ¸íº¹¤Ï 0.7¦Å¤È¤Ê¤ê¤Þ¤¹¡£¤³¤ì¤Ï¡¢11¦Å¤è¤ê¤Ï¤ë¤«¤Ë¾®¤µ¤¤ÃͤǤ¹¡£¸íº¹¤ÎÈϰϤò·×»»¤¹¤ë¼ç¤ÊÌÜŪ¤Ï¡¢Àµ³Î¤Ê¶­³¦¤òÀßÄꤹ¤ë¤³¤È¤Ç¤Ï¤Ê¤¯¡¢¸ø¼°¤Ë¿ôÃͤÎÌäÂ꤬¸ºß¤·¤Ê¤¤¤³¤È¤ò³Îǧ¤¹¤ë¤³¤È¤Ë¤¢¤ê¤Þ¤¹¡£

ÎÉÀ­¤ÎÁ껦¤ËÊѹ¹¤Ç¤­¤ëºÇ¸å¤ÎÎã¤Ï (1 + x)n (¤³¤³¤Ç ) ¤Ç¤¹¡£¤³¤Î¼°¤Ï¶âÍ»·×»»¤Ç¤è¤¯»ÈÍѤµ¤ì¤Þ¤¹¡£Î㤨¤Ð¡¢Ç¯Î¨ 6 % ¤Î¶ä¹Ô¸ýºÂ¤ËËèÆü 100 ¥É¥ë¤º¤ÄͶ⤷¤¿¾ì¹ç¤ÎÊ£Íø·×»»¤ÎÎã¤ò¹Í¤¨¤Æ¤ß¤Þ¤¹¡£n = 365 ¤Ç¡¢i = 0.06 ¤È¤¹¤ë¤È¡¢1 ǯ¸å¤ÎÃùÃß³Û¤Ï

100 ¥É¥ë¤È¤Ê¤ê¤Þ¤¹¡£

¦Â = 2¡¢ p = 24 ¤È¤·¤Æ·×»»¤¹¤ë¤È·ë²Ì¤Ï $37615.45 ¤È¤Ê¤ê¡¢¼ÂºÝ¤Î¶â³Û¤Î $37614.05 ¤È¤Ï $1.40 ¤Îº¹¤¬½Ð¤Þ¤¹¡£¤³¤ÎÌäÂê¤ÎÍýͳ¤Ï´Êñ¤Ç¤¹¡£¼° 1 + i/n ¤Ç¤Ï¡¢0.0001643836 ¤Ë 1 ¤ò²Ã»»¤¹¤ë¤Î¤Ç¡¢i/n ¤Î²¼°Ì¥Ó¥Ã¥È¤¬¼º¤ï¤ì¤ë¤È¤¤¤¦¤³¤È¤Ç¤¹¡£¤³¤Î´Ý¤á¸íº¹¤Ï¡¢
1 + i/n ¤Ë n ¾è¤¹¤ë¤È¡¢ÁýÉý¤·¤Þ¤¹¡£

(1 + i/n)n ¤È¤¤¤¦Ê£»¨¤Ê¼°¤Ï enln(1 + i/n) ¤È½ñ¤­´¹¤¨¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤³¤Î¾ì¹ç¤ÎÌäÂê¤Ï¡¢x ¤¬¾®¤µ¤¤¾ì¹ç¤Î ln (1 + x) ¤Î·×»»¤Ç¤¹¡£1 ¤Ä¤ÎÊýË¡¤È¤·¤Æ ln (1 + x) x ¤Î¶á»÷Ãͤò»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢»Ùʧ¤¤¤Ï $37617.26 ¤È¤Ê¤ê¡¢¸íº¹¤Ï $3.21 ¤Ê¤Î¤Ç¡¢Ã±½ã¤Ê¸ø¼°¤è¤ê¤âÀºÅÙ¤¬Íî¤Á¤Þ¤¹¡£¤¿¤À¤·¡¢ÄêÍý 4 ¤Ë¼¨¤¹¤È¤ª¤ê¡¢(1 + x) ¤ò¤µ¤é¤ËÀµ³Î¤Ë·×»»¤¹¤ëÊýË¡¤¬¤¢¤ê¤Þ¤¹ (HP¡¢1982ǯ)¡£¤³¤Î¸ø¼°¤Ë¤è¤ê¡¢$37614.07 ¤È¤¤¤¦·ë²Ì¤¬ÆÀ¤é¤ì¡¢¸íº¹¤¬¤ï¤º¤« 2 ¥»¥ó¥È°ÊÆâ¤Ë¤Ê¤ê¤Þ¤¹¡£

ÄêÍý 4 ¤Ç¤Ï¡¢LN(x) ¤Ë¤è¤ê ln (x) ¤Î¶á»÷Ãͤ¬ 1/2 ulp °ÊÆâ¤Î¸íº¹¤Çµá¤á¤é¤ì¤ë¤³¤È¤òÁ°Äó¤È¤·¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢x ¤ÎÃͤ¬¾®¤µ¤¤¤È¤­¤Ë¡¢1 x ¤¬¡¢x ¤Î²¼°Ì¥Ó¥Ã¥È¤Ë¤¢¤ë¾ðÊó¤òÁÓ¼º¤¹¤ë¤¿¤á¤Ë¡¢LN (1 x) ¤Ë¤è¤ê ln (1 + x) ¤Î¶á»÷Ãͤ¬ÆÀ¤é¤ì¤Ê¤¤ÌäÂ꤬²ò·è¤µ¤ì¤Þ¤¹¡£¤¹¤Ê¤ï¤Á¡¢ ¤Î¤È¤­¤Ë¡¢ln (1 + x) ¤Î·×»»ÃͤϼºݤÎÃͤζá»÷ÃͤˤϤʤé¤Ê¤¤¤È¤¤¤¦ÌäÂê¤Ç¤¹¡£

ÄêÍý 4

ln (1+ x) ¤ò¼¡¤Î¸ø¼°¤Ç·×»»¤·¤¿¾ì¹ç¡¢

Êݸî·å¤ò»ÈÍѤ·¤Æ¸º»»¤ò¹Ô¤¤¡¢e < 0.1¡¢¤Þ¤¿¤Ï ln ¤ò 1/2 ulp °ÊÆâ¤Î¸íº¹¤Ç·×»»¤¹¤ë¤È¡¢0 ¡å x < ¤Î¾ì¹ç¤ËÁêÂÐ¸íº¹¤Ï 5e °ÊÆâ¤È¤Ê¤ë¡£

¤³¤Î¸ø¼°¤Ï¡¢x ¤¬¤É¤Î¤è¤¦¤ÊÃͤǤ¢¤Ã¤Æ¤âŬÍѤµ¤ì¤Þ¤¹¤¬¡¢ ¤Î¾ì¹ç¡¢¤¹¤Ê¤ï¤ÁËÜÍè¤Î¸ø¼° ln (1 + x) ¤Ç°­À­¤ÎÁ껦¤¬µ¯¤­¤ë¾õ¶·¤Ë¸Â¤ê°ÕÌ£¤¬¤¢¤ê¤Þ¤¹¡£¸ø¼°¤Ï°ì¸«¡¢°ÕÌ£ÉÔÌÀ¤Î¤è¤¦¤Ë»×¤ï¤ì¤Þ¤¹¤¬¡¢¤³¤ì¤¬Àµ¤·¤¯Æ°ºî¤¹¤ëÍýͳ¤Ï´Êñ¤Ç¤¹¡£ln (1 + x) ¤ò

¤È½ñ¤­´¹¤¨¤Æ¤ß¤Þ¤¹¡£º¸ÊÕ¤ÎÍ×ÁǤϤ½¤Î¤Þ¤Þ·×»»¤Ç¤­¤Þ¤¹

¤¬¡¢±¦ÊÕ¤ÎÍ×ÁÇ ¦Ì(x) = ln(1 + x)/x ¤Ï¡¢x ¤Ë 1 ¤ò²Ã»»¤¹¤ë¤È¤­¤ËÂ礭¤Ê´Ý¤á¸íº¹¤¬À¸¤¸¤Þ¤¹¡£¤·¤«¤·¡¢ln(1 + x) x ¤Î¤¿¤á ¦Ì ¤Ï¤Û¤È¤ó¤ÉÄê¿ô¤Ç¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢x ¤ò¤ï¤º¤«¤ËÊѹ¹¤¹¤ë¤À¤±¤Ç¤â¡¢Â礭¤Ê¸íº¹¤òȼ¤¤¤Þ¤¹¡£

¤¹¤Ê¤ï¤Á¡¢ ¤Î¾ì¹ç¡¢ ( ) ¤ò·×»»¤¹¤ë¤È¡¢x¦Ì(x) = ln(1 + x) ¤Î¤Û¤Ü¶á»÷Ãͤ¬ÆÀ¤é¤ì¤Þ¤¹¡£ ¤È + 1 ¤òÀµ¤·¤¯·×»»¤Ç¤­¤ë ¤ÎÃͤ¬¤¢¤ë¤Ç¤·¤ç¤¦¤«¡£1 + ¤Ï¤Á¤ç¤¦¤É 1 x ¤Ë¤Ê¤ë¤Î¤Ç¡¢ = (1 x) 1¤È¤¤¤¦ÃͤǤ¹¡£

¤³¤Î¹à¤Î·ëÏÀ¤È¤·¤Æ¡¢´ûÃΤζᤤÃͤò¸º»»¤¹¤ë¤È¤­ (ÎÉÀ­¤ÎÁ껦¤òȼ¤¦) ¤Ï¡¢Êݸî·å¤Ë¤è¤êÀºÅÙ¤¬Êݾڤµ¤ì¤ë¤È¤¤¤¦¤³¤È¤¬¸À¤¨¤Þ¤¹¡£ÉÔÀµ³Î¤Ê·ë²Ì¤ò¤â¤¿¤é¤¹¸ø¼°¤Ï¡¢ÎÉÀ­¤ÎÁ껦¤ò»ÈÍѤ·¤Æ¡¢¿ôÃͤÎÀºÅÙ¤ò¾å¤²¤ë¤³¤È¤Ë¤è¤ê¡¢½ñ¤­´¹¤¨¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤¿¤À¤·¡¢¤³¤ÎÊýË¡¤ÏÊݸî·å¤ò»ÈÍѤ·¤Æ¸º»»¤ò¹Ô¤¦¾ì¹ç¤Ë¸Â¤êÍøÍѤǤ­¤Þ¤¹¡£¤Þ¤¿Êݸî·å¤ò»ÈÍѤ·¤Æ¤â¡¢²Ã»»´ï¤Î¥Ó¥Ã¥È¤¬ 1 ¤Ä¿¤¯¤Ê¤ë¤À¤±¤Ê¤Î¤Ç¡¢¤½¤ì¤Û¤É¤Îµ¾À·¤âȼ¤¤¤Þ¤»¤ó¡£Î㤨¤Ð 54 ¥Ó¥Ã¥È¤ÎÇÜÀºÅٲû»´ï¤Î¾ì¹ç¡¢Í¾Ê¬¤Ê¥³¥¹¥È¤Ï 2 % ÄøÅ٤ǺѤߤޤ¹¡£¤³¤ÎÄøÅ٤Υ³¥¹¥È¤Ë¤è¤Ã¤Æ¡¢»°³Ñ·Á¤ÎÌÌÀѤòµá¤á¤ë¸ø¼° (6) ¤ä¼° ln (1 + x) ¤Ê¤É¤Î¿¿ô¤Î¥¢¥ë¥´¥ê¥º¥à¤ò¼Â¹Ô¤¹¤ëÍøÅÀ¤¬ÆÀ¤é¤ì¤Þ¤¹¡£ºÇ¶á¤Î¥³¥ó¥Ô¥å¡¼¥¿¤Ë¤ÏÄ̾Êݸî·å¤¬ÍÑ°Õ¤µ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢¤³¤ì¤ËÂбþ¤Ç¤­¤Ê¤¤¥·¥¹¥Æ¥à¤Ï¡¢¤Û¤È¤ó¤É¤¢¤ê¤Þ¤»¤ó (Cray ¥·¥¹¥Æ¥à¤Ê¤É¤ò½ü¤­¤Þ¤¹)¡£

Àµ³Î¤Ê´Ý¤áÁàºî

Êݸî·å¤ò»ÈÍѤ·¤ÆÉâÆ°¾®¿ôÅÀ±é»»¤ò¹Ô¤¦¤È¡¢Àµ³Î¤Ë·×»»¤·¤¿¸å¤ÇºÇ¤â¶á¤¤ÉâÆ°¾®¿ôÅÀ¿ô¤Ë´Ý¤á¤¿¾ì¹ç¤è¤ê¤â¡¢ÀºÅÙ¤¬Íî¤Á¤Þ¤¹¡£¸å¼Ô¤Î·×»»ÊýË¡¤ò¡ÖÀµ³Î¤Ê´Ý¤áÁàºî¡×¤È¸À¤¤¤Þ¤¹ 8¡£ÄêÍý 2 ¤ÎÁ°¤Ë¾Ò²ð¤·¤¿Îã¤Ï¡¢1 ·åʬ¤ÎÊݸî·å¤ò³ÎÊݤ·¤¿¤«¤é¤È¤¤¤Ã¤Æ¡¢É¬¤º¤·¤âÀµ³Î¤Ê·ë²Ì¤¬ÆÀ¤é¤ì¤ë¤È¤Ï¸Â¤é¤Ê¤¤¤³¤È¤ò¼¨¤·¤Æ¤¤¤Þ¤¹¡£Á°¤Î¹à¤Ë¤Ï¡¢Àµ¤·¤¤Æ°ºî¤òÊݾڤ¹¤ë¤¿¤á¤Ë¡¢Êݸî·å¤ò»ÈÍѤ¹¤ë¥¢¥ë¥´¥ê¥º¥à¤ÎÎã¤ò¤¤¤¯¤Ä¤«¾Ò²ð¤·¤Þ¤·¤¿¡£¤³¤³¤Ç¤Ï¡¢Àµ³Î¤Ê´Ý¤á¤ò¹Ô¤¦¤¿¤á¤Î¥¢¥ë¥´¥ê¥º¥à¤ÎÎã¤ò¼¨¤·¤Þ¤¹¡£

¤³¤³¤Þ¤Ç¤ÎÃʳ¬¤Ç¤Ï¡¢¤Þ¤À´Ý¤á¤ÎÄêµÁ¤ò¼¨¤·¤Æ¤¤¤Þ¤»¤ó¡£´Ý¤á¤ÎÁàºî¤Ï¡¢Àڤ겼¤²¤ÈÀÚ¤ê¾å¤²¤Î¶èÀÚ¤ê¤ò¤É¤³¤ÇÉÕ¤±¤ë¤«¤È¤¤¤¦ÅÀ (Î㤨¤Ð¡¢12.5 ¤ò 12 ¤È¤¹¤ë¤« 13 ¤È¤¹¤ë¤«¤È¤¤¤¦ÌäÂê) ¤ò½ü¤­¡¢Æñ¤·¤¯¤¢¤ê¤Þ¤»¤ó¡£1 ¤Ä¤ÎÊýË¡¤È¤·¤Æ¡¢10 ¤Þ¤Ç¤ÎÃͤò»Í¼Î¸ÞÆþ¤·¤Æ¡¢0¡¢1¡¢2¡¢3¡¢4 ¤òÀÚ¤ê¼Î¤Æ¡¢5¡¢6¡¢7¡¢8¡¢9 ¤òÀÚ¤ê¾å¤²¤ë¤È¤¤¤¦¹Í¤¨Êý¤¬¤¢¤ê¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢12.5¤Ï 13 ¤È¤·¤Æ°·¤¤¤Þ¤¹¡£DEC ¤Î VAX ¤Ç¤Ï¤³¤Î¤è¤¦¤Ê»Í¼Î¸ÞÆþ¤¬ºÎÍѤµ¤ì¤Æ¤¤¤Þ¤¹¡£¤Þ¤¿¡¢5 ¤Ç½ª¤ï¤ë¿ô¤Ï 2 ¤Ä¤Î´Ý¤áÊýË¡¤Î¤Á¤ç¤¦¤É¶­Ìܤˤ¢¤ë¤È¤¤¤¦°ÕÌ£¤Ç¡¢´Ý¤á¤ò¹Ô¤¦²ó¿ôÁ´ÂΤÎȾʬ¤òÀÚ¤ê¾å¤²¡¢È¾Ê¬¤òÀڤ겼¤²¤ë¤È¤¤¤¦¹Í¤¨Êý¤â¤¢¤ê¤Þ¤¹¡£¤³¤Î 50% ¤º¤Ä 2 ʬ¤¹¤ë¤È¤¤¤¦ÊýË¡¤Ë¤Ï¡¢´Ý¤á¤Î·ë²Ì¤¬¾¯¤Ê¤¯¤Æ¤â¡¢ºÇ²¼°Ì¤Î·å¤¬¶ö¿ô¤Ë¤Ê¤Ã¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤È¤¤¤¦¾ò·ï¤òȼ¤¤¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢12.5 ¤Ï¡¢2 ¤¬¶ö¿ô¤Ç¤¢¤ë¤¿¤á¡¢13 ¤Ç¤Ï¤Ê¤¯¡¢12 ¤ËÀÚ¤ê¼Î¤Æ¤é¤ì¤Þ¤¹¡£ÀÚ¤ê¾å¤²¤È¶ö¿ô¤Ø¤ÎÀÚ¤ê¼Î¤Æ¤Î¤É¤Á¤é¤¬¤è¤¤¤«¤È¤¤¤¦ÌäÂê¤Ë¤Ä¤¤¤Æ¡¢Reiser ¤È Knuth ¤Ï¶ö¿ô¤Ø¤ÎÀÚ¤ê¼Î¤Æ¤ÎÊý¤¬Ë¾¤Þ¤·¤¤¤È»ØŦ¤·¤Æ¤¤¤Þ¤¹ (1975)¡£

ÄêÍý 5

x ¤È y ¤òÉâÆ°¾®¿ôÅÀ¿ô¤È¤·¤Æ¡¢x0 = x¡¢ x1 = (x0 y) y¡¢...¡¢xn =(xn-1 y) y ¤ÈÄêµÁ¤¹¤ë¡£ ¤È ¤ò¶ö¿ô¤Ø¤ÎÀÚ¤ê¼Î¤Æ¤Ë¤è¤êƱ¤¸¤è¤¦¤Ë´Ý¤á¤ë¤È¡¢¤¹¤Ù¤Æ¤Î n ¤Ë¤Ä¤¤¤Æ xn = x¡¢¤Þ¤¿ n ¡æ 1 ¤Î¤¹¤Ù¤Æ¤Ë¤Ä¤¤¤Æ xn = x1 ¤È¤Ê¤ë¡£¢£

¤³¤Î·ë²Ì¤òʬÎह¤ë¾å¤Ç¡¢x = 1.00¡¢y = -0.555 ¤È¤·¤Æ ¦Â = 10¡¢ p =3 ¤Î¾ì¹ç¤ò¹Í¤¨¤Æ¤ß¤Þ¤¹¡£¤³¤ì¤òÀÚ¤ê¾å¤²¤ë¾ì¹ç¡¢x0 y = 1.56¡¢x1 = 1.56 0.555 = 1.01¡¢
x1 y = 1.01 0.555 = 1.57¤È¤¤¤¦¥·¡¼¥±¥ó¥¹¤Ë¤Ê¤ê¡¢xn = 9.45 (n ¡å 845) ¤Ë¤Ê¤ë9 ¤Þ¤Ç¡¢xn ¤ÎϢ³Ãͤ¬ 0.01 ¤´¤È¤ËÁý¤¨¤Æ¤¤¤­¤Þ¤¹¡£¶ö¿ô¤ËÀÚ¤ê¼Î¤Æ¤ë¾ì¹ç¡¢xn ¤Ï¤Ä¤Í¤Ë 1.00 ¤Ë¤Ê¤ê¤Þ¤¹¡£¤³¤ÎÎã¤Ï¡¢ÀÚ¤ê¾å¤²¤Î¥ë¡¼¥ë¤ò»ÈÍѤ¹¤ë¤È¡¢·×»»·ë²Ì¤¬¤·¤À¤¤¤Ë¾åÊý¤Ë¤º¤ì¤Æ¤¤¤­¡¢°ìÊý¡¢¶ö¿ô¤Ø¤ÎÀÚ¤ê¼Î¤Æ¤ò»ÈÍѤ¹¤ë¤È¡¢¤³¤Î¤º¤ì¤¬À¸¤¸¤Ê¤¤¤³¤È¤ò¼¨¤·¤Æ¤¤¤Þ¤¹¡£¤³¤Î¸å¤ÎÀâÌÀ¤Ç¤Ï¡¢¶ö¿ô¤Ø¤ÎÀÚ¤ê¼Î¤Æ¤ò°ì´Ó¤·¤Æ»ÈÍѤ¹¤ë¤³¤È¤Ë¤·¤Þ¤¹¡£

¿½ÅÀºÅ٤α黻¤Ç¤Ï¡¢Àµ³Î¤Ê´Ý¤á¤¬ 1 ²ó¤À¤±¹Ô¤ï¤ì¤Þ¤¹¡£ÀºÅÙ¤ò¾å¤²¤ë¤Ë¤Ï¡¢2 ¤Ä¤Î´ðËÜŪ¤Ê¥¢¥×¥í¡¼¥Á¤¬¤¢¤ê¤Þ¤¹¡£1 ¤Ä¤Ï¡¢¤­¤ï¤á¤ÆÂ礭¤¤Í­°Õ·å¤ò»ÈÍѤ·¤¿ÉâÆ°¾®¿ôÅÀ¿ô¤Ç¤¹¡£¤³¤ÎÍ­°Õ·å¤Ï¥ï¡¼¥ÉÇÛÎó¤Ë³ÊǼ¤µ¤ì¡¢¥¢¥»¥ó¥Ö¥ê¸À¸ì¤Ç¤³¤ì¤é¤Î¿ô¤òÁàºî¤¹¤ë¤¿¤á¤Î¥ë¡¼¥Á¥ó¤Î¥³¡¼¥Ç¥£¥ó¥°¤¬¹Ô¤ï¤ì¤Þ¤¹¡£¤â¤¦ 1 ¤Ä¤Î¥¢¥×¥í¡¼¥Á¤Ï¡¢Ä̾ï¤ÎÉâÆ°¾®¿ôÅÀ¿ô¤ÎÇÛÎó¤È¤·¤Æ¤µ¤é¤Ë¹â¤¤ÀºÅÙ¤ÎÉâÆ°¾®¿ôÅÀ¿ô¤òɽ¤ï¤¹ÊýË¡¤Ç¤¹¡£¤³¤Î¾ì¹ç¡¢Ìµ¸Â¤ÎÀºÅÙ¤ÇÇÛÎóÍ×ÁǤòÄɲ乤뤳¤È¤Ë¤è¤ê¡¢¹â¤¤ÀºÅÙ¤ÎÉâÆ°¾®¿ôÅÀ¿ô¤òÉü¸µ¤·¤Þ¤¹¡£¤³¤³¤Ç¤Ï¡¢2 ¤ÄÌܤΥ¢¥×¥í¡¼¥Á¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£ÉâÆ°¾®¿ôÅÀ¿ô¤ÎÇÛÎó¤ò»ÈÍѤ¹¤ëÍøÅÀ¤Ï¡¢¹â¿å½à¸À¸ì¤Ë¤è¤ê°Ü¿¢²Äǽ¤Ê·Á¤Ç¥³¡¼¥Ç¥£¥ó¥°¤Ç¤­¤ë¤³¤È¤Ë¤¢¤ê¤Þ¤¹¡£¤³¤ÎÈ¿ÌÌ¡¢Àµ³Î¤Ê´Ý¤á¤Î±é»»¤¬É¬Íפˤʤê¤Þ¤¹¡£

¤³¤Î¥·¥¹¥Æ¥à¤Ë¤ª¤±¤ë¾è»»¤Î½ÅÍפÊÅÀ¤Ï¡¢³Æ²Ã¿ô¤¬ x y ¤ÈƱ¤¸ÀºÅÙ¤ò»ý¤Ä¤è¤¦¤Ë¡¢x y ¤ÎÀѤòϤȤ·¤Æɽ¤ï¤¹¤³¤È¤Ë¤¢¤ê¤Þ¤¹¡£¤³¤ì¤Ï¡¢x ¤È y ¤òʬ³ä¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¹Ô¤ï¤ì¤Þ¤¹¡£x = xh + xl ¡¢y = yh + yl ¤È½ñ¤¯¤È¡¢¼ÂºÝ¤ÎÀÑ¤Ï xy = xhyh + xh yl + xl yh + xl yl ¤È¤Ê¤ê¤Þ¤¹¡£ x ¤È y ¤Ë p ¥Ó¥Ã¥È¤ÎÍ­°Õ·å¤¬¤¢¤ë¾ì¹ç [p/2] ¥Ó¥Ã¥È¤Ç xl¡¢xh¡¢yh¡¢yl ¤òɽ¤ï¤¹¤³¤È¤¬¤Ç¤­¤ì¤Ð¡¢²Ã¿ô¤ÎÍ­°Õ·å¤â p ¥Ó¥Ã¥È¤Ë¤Ê¤ê¤Þ¤¹¡£ p ¤¬¶ö¿ô¤Ç¤¢¤ì¤Ð¡¢´Êñ¤Ëʬ³ä¤Ç¤­¤Þ¤¹¡£x0.xl...xp -1¤Î¿ô¤Ï¡¢x0.xl...xp/2 - 1 ¤È 0.0 ... 0xp/2 ... xp - 1 ¤ÎϤȤ·¤Æɽ¤ï¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£°ìÊý¡¢p ¤¬´ñ¿ô¤Î¾ì¹ç¡¢¤³¤Î¤è¤¦¤Ë´Êñ¤Ë¤Ïʬ³ä¤Ç¤­¤Þ¤»¤ó¡£¤¿¤À¤·¡¢Éé¿ô¤ò»ÈÍѤ·¤Æ¡¢1 ¥Ó¥Ã¥Èʬ¤òÄɲäǤ­¤Þ¤¹¡£Î㤨¤Ð¡¢¦Â = 2¡¢ p = 5¡¢x = 0.10111 ¤Î¾ì¹ç¡¢x ¤Ï xh= 0.11¡¢¤ª¤è¤Ó xl = -0.00001¤È¤·¤Æʬ³ä¤Ç¤­¤Þ¤¹¡£Dekker (1971) ¤Ë¤è¤ë¤È¡¢Ê¬³äÊýË¡¤Ï´Êñ¤Ç¤¹¤¬¡¢1 ·å¤ÎÊݸî·å°Ê³°¤Ë¤â;ʬ¤Ë·å¤¬É¬ÍפǤ¹¡£

ÄêÍý 6

¦Â > 2 ¤Ç¤¢¤Ã¤Æ¤â p ¤¬¶ö¿ô¤Ç¤¢¤ë¤È¤¤¤¦À©¸Â¤Î¤â¤È¤Ë¡¢p ¤òÉâÆ°¾®¿ôÅÀÀºÅ٤Ȥ·¤Æ¡¢ÉâÆ°¾®¿ôÅÀ¿ô¤òÀµ³Î¤Ë´Ý¤á¤ë¤â¤Î¤È¤¹¤ë¡£¤³¤Î¤È¤­¡¢k = [p/2] ¤¬ÀºÅÙ¤ÎȾʬ (ÀÚ¤ê¾å¤²) ¤Ç¡¢m = ¦Âk + 1 ¤È¤¹¤ë¤È¡¢x ¤Ï x = xh + xl (¤¿¤À¤·
x
h = (m x) (m x x)¡¢xl = x xh ¤Ç¡¢³Æ xi ¤Ï [p /2] ¥Ó¥Ã¥ÈÀºÅÙ¤Çɽ¸½²Äǽ¤È¤¹¤ë) ¤È¤·¤Æʬ³ä¤Ç¤­¤ë¡£

¤³¤ÎÄêÍý¤¬¼ÂºÝ¤ÎÎã¤Ë¤É¤Î¤è¤¦¤ËŬÍѤµ¤ì¤ë¤«¤ò¸«¤ë¤¿¤á¤Ë¡¢¦Â = 10¡¢ p = 4¡¢b = 3.476¡¢a = 3.463¡¢c = 3.479 ¤Ç¤¢¤ë¤È²¾Äꤷ¤Þ¤¹¡£b2 - ac ¤òºÇ¤â¶á¤¤ÉâÆ°¾®¿ôÅÀ¿ô¤Ë´Ý¤á¤ë¤È¡¢0·03480¤Ë¤Ê¤ê¡¢b b = 12.08¡¢a c = 12.05 ¤Ë¤Ê¤ê¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢b2 - ac ¤Î·×»»ÃÍ¤Ï 0·03¤È¤Ê¤ê¤Þ¤¹¡£¤³¤ì¤Ë¤Ï 480 ulp ¤Î¸íº¹¤¬¤¢¤ê¤Þ¤¹¡£ÄêÍý 6 ¤Ë¤â¤È¤Å¤¤¤Æ b = 3.5 - 0.024¡¢a = 3.5 - 0.037¡¢c = 3.5 - 0.021 ¤È¤¹¤ë¤È¡¢
b2 ¤Ï 3.52 - 2 × 3.5 × 0.024 + 0.0242 ¤È¤Ê¤ê¤Þ¤¹¡£³Æ²Ã¿ô¤Ï¤¹¤Ù¤ÆÀµ³Î¤Ê¤Î¤Ç¡¢
b2 = 12.25 - 0.168 + 0.000576 ¤Ë¤Ê¤ê¤Þ¤¹ (¤³¤Î»þÅÀ¤ÇϤÎɾ²Á¤Ï¤µ¤ì¤Æ¤¤¤Þ¤»¤ó)¡£Æ±¤¸¤è¤¦¤Ë¡¢ac = 3.52 - (3.5 × 0.037 + 3.5 × 0.021) + 0.037 × 0.021 = 12·25 - 0.2030 + 0.000777 ¤Ë¤Ê¤ê¤Þ¤¹¡£

ºÇ¸å¤Ë¡¢2 ¤Ä¤ÎϢ³¹à¤´¤È¤Ë¸º»»¤¹¤ë¤È¡¢b2 - ac ¤Î¶á»÷Ãͤ¬
0 0.0350 0.000201= 0.03480 ¤È¤·¤Æµá¤á¤é¤ì¤Þ¤¹¡£¤³¤ì¤Ï¡¢Àµ³Î¤Ë´Ý¤á¤¿¾ì¹ç¤Î·ë²Ì¤È°ìÃפ·¤Þ¤¹¡£ÄêÍý 6 ¤ÇÀµ³Î¤Ê´Ý¤á¤¬É¬Íפˤʤ뤳¤È¤ò³Îǧ¤¹¤ë¤¿¤á¤Ë¡¢p = 3¡¢¦Â = 2¡¢x = 7¡¢¤µ¤é¤Ë m = 5¡¢mx = 35¡¢m x = 32 ¤ÎÎã¤ò¹Í¤¨¤Æ¤ß¤Þ¤¹¡£1 ·å¤ÎÊݸî·å¤ò»ÈÍѤ·¤Æ¸º»»¤ò¹Ô¤¦¤È¡¢(m x ) x = 28 ¤È¤Ê¤ê¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢xh = 4¡¢xl = 3 ¤È¤Ê¤ë¤Î¤Ç¡¢xl ¤Ï [p /2] = 1 ¥Ó¥Ã¥È¤Ç¤Ïɽ¤ï¤»¤Þ¤»¤ó¡£

Àµ³Î¤Ê´Ý¤á¤ÎºÇ¸å¤ÎÎã¤È¤·¤Æ¡¢m ¤ò 10 ¤Ç½ü»»¤¹¤ë¾ì¹ç¤ò¹Í¤¨¤Æ¤ß¤Þ¤¹¡£¤³¤Î·ë²Ì¡¢°ìÈÌ¤Ë¤Ï m/10 ¤Ë°ìÃפ·¤Ê¤¤ÉâÆ°¾®¿ôÅÀ¿ô¤¬ÆÀ¤é¤ì¤Þ¤¹¡£¦Â = 2 ¤Î¾ì¹ç¡¢Àµ³Î¤Ê´Ý¤á¤ò»ÈÍѤ·¤Æ¡¢m/10 ¤È 10 ¤ò³Ý¤±¤ë¤È¡¢ÉԻ׵Ĥʤ³¤È¤Ë m ¤¬¥ê¥¹¥È¥¢¤µ¤ì¤Þ¤¹¡£¼ÂºÝ¤Ë¤Ï¡¢¤µ¤é¤Ë°ìÈÌŪ¤Ê»ö¼Â¤¬¤¢¤Æ¤Ï¤Þ¤ê¤Þ¤¹ (Kahan)¡£¾ÚÌÀ¤Ï¾ÜºÙ¤Ë¤ï¤¿¤ë¤â¤Î¤Ç¤¹¤¬¡¢¤³¤Î¤è¤¦¤Ê¾Ü¤·¤¤ÀâÌÀ¤Þ¤Ç´Ø¿´¤Î¤Ê¤¤Êý¤Ï¡¢¡ÖIEEE ɸ½à¡×¤Þ¤ÇÆɤßÈô¤Ð¤·¤Æ¤â¤«¤Þ¤¤¤Þ¤»¤ó¡£

ÄêÍý 7

¦Â = 2 ¤Î¤È¤­¡¢m ¤È n ¤¬ |m|<2p - 1 ¤ÎÀ°¿ô¤Ç¡¢n ¤Ë n = 2i + 2j ¤È¤¤¤¦Æüì¤Ê·Á¼°¤¬¤¢¤ë¾ì¹ç¡¢ÉâÆ°¾®¿ôÅÀ±é»»¤òÀµ³Î¤Ë´Ý¤á¤ë¤È¤¹¤ì¤Ð¡¢ (m n ) n ¡á m ¤È¤Ê¤ë¡£

¾ÚÌÀ

2 ¤Î¤Ù¤­¾è¤Ç¥¹¥±¡¼¥ê¥ó¥°¤¹¤ë¤Î¤Ï¡¢Í­°Õ·å¤Ç¤Ï¤Ê¤¯¡¢Ã±¤Ë»Ø¿ô¤¬Êѹ¹¤µ¤ì¤ë¤À¤±¤Ê¤Î¤Ç¡¢°­±Æ¶Á¤Ï¤¢¤ê¤Þ¤»¤ó¡£q = m/n ¤Î¾ì¹ç¡¢2p - 1 ¡å n < 2p ¤È¤Ê¤ë¤è¤¦¤Ë n ¤ò¥¹¥±¡¼¥ê¥ó¥°¤·¡¢
< q < 1 ¤È¤Ê¤ë¤è¤¦¤Ë m ¤ò¥¹¥±¡¼¥ê¥ó¥°¤·¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ 2p - 2 < m < 2p ¤È¤Ê¤ê¤Þ¤¹¡£m ¤Ë¤Ï p ¸Ä¤ÎÍ­°Õ¥Ó¥Ã¥È¤¬¤¢¤ë¤Î¤Ç¡¢2 ¿Ê¾®¿ôÅÀ¤Î±¦¤ËºÇÂç 1 ¥Ó¥Ã¥È¤¬É¬ÍפǤ¹¡£m ¤ÎÉä¹æ¤òÊѹ¹¤·¤Æ¤â°­±Æ¶Á¤Ï¤Ê¤¤¤Î¤Ç¡¢q > 0¤È¤·¤Þ¤¹¡£
= m n ¤Î¾ì¹ç¡¢ÄêÍý¤ò¾ÚÌÀ¤¹¤ë¤Ë¤Ï¡¢¼¡¤ò¼¨¤¹É¬Íפ¬¤¢¤ê¤Þ¤¹¡£
(9)
¤³¤ì¤Ï¡¢m ¤Î 2 ¿Ê¾®¿ôÅÀ¤Î±¦Â¦¤ËºÇÂç 1 ¥Ó¥Ã¥È¤¬»ÈÍѤµ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢n ¤Ë¤è¤ê m ¤Ë´Ý¤á¤é¤ì¤Þ¤¹¡£
Ãæ´Ö¤Î¾ì¹ç¤Î°·¤¤¤Ë¤Ä¤¤¤Æ¤Ï¡¢¡Ãn - m¡Ã= ¤Î¾ì¹ç¤Ë¡¢¥¹¥±¡¼¥ê¥ó¥°¤·¤Æ¤¤¤Ê¤¤½é´ü¤Î m ¤Ï¡Ãm¡Ã< 2p - 1¡¢¤Þ¤¿²¼°Ì¥Ó¥Ã¥È¤Ï 0 ¤Ë¤Ê¤ë¤Î¤Ç¡¢¥¹¥±¡¼¥ê¥ó¥°¸å¤Î m ¤Î²¼°Ì¥Ó¥Ã¥È¤â 0 ¤Ë¤Ê¤ê¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢Ãæ´Ö¤ÎÃÍ¤Ï m ¤Ë´Ý¤á¤é¤ì¤Þ¤¹¡£
q = .q1q2 ...¡¢ = .q1q2 ... q p 1 ¤Ç¤¢¤ë¤È²¾Äꤷ¤Þ¤¹¡£|n - m|¤Î¶á»÷Ãͤòµá¤á¤ë¤Ë¤Ï
¤Þ¤º¡¢¡Ã - q¡Ã=¡ÃN/2p + 1 - m/n¡Ã (N¤Ï´ñ¿ô¤ÎÀ°¿ô) ¤ò·×»»¤·¤Þ¤¹¡£n = 2i + 2j¡¢¤ª¤è¤Ó 2p - 1 ¡å n < 2p ¤Ç¤¢¤ë¤«¤é¡¢ÆÃÄê¤Î k ¡å p - 2 ¤Ë¤Ä¤¤¤Æ¤Ï n = 2p - 1 + 2k ¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¤·¤¿¤¬¤Ã¤Æ¡¢¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£

ʬ»Ò¤ÏÀ°¿ô¤Ç¤¹¡£N ¤Ï´ñ¿ô¤Ê¤Î¤Ç¡¢¼ÂºÝ¤Ë¤Ï´ñ¿ô¤ÎÀ°¿ô¤È¤Ê¤ê¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢
¡Ã - q¡Ã¡æ 1/ (n2 p+1-k ) ¤È¤Ê¤ê¤Þ¤¹¡£q < (q > ¤Î¾ì¹ç¤âƱÍÍ) ¤È²¾Äê10¤¹¤ë¤È¡¢
n < m¤Ç¡¢¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£

¡Ãm-n ¡Ã= m-n = n(q- ) = n(q-( -2-p-1) ) ¡å
= (2p-1+2k)2-p-1+2-p-1+k =

¤³¤ì¤Ë¤è¤ê¡¢ (9) ¤¬À®¤êΩ¤Á¡¢ÄêÍý¤¬¾ÚÌÀ¤µ¤ì¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹11¡£¢£

ÄêÍý¤Ï¡¢2i + 2j ¤ò¦Âi + ¦Âj ¤ËÃÖ¤­´¹¤¨¤ë¸Â¤ê¡¢Ç¤°Õ¤Î´ð¿ô ¦Â ¤Ë¤Ä¤¤¤Æ¿¿¤Ë¤Ê¤ê¤Þ¤¹¡£¤¿¤À¤· ¦Â ¤¬Â礭¤¯¤Ê¤ë¤Ë½¾¤Ã¤Æ¦Âi + ¦Âj ¤ÎʬÊì¤Îº¹¤¬Â礭¤¯¤Ê¤Ã¤Æ¤¤¤­¤Þ¤¹¡£

¤³¤³¤Ç¡¢ËÜÉÕÏ¿¤ÎºÇ½é¤ËÄ󼨤·¤¿¡Ö´ðËÜŪ¤Ê±é»»½èÍý¤Ç¿¾¯¤Î´Ý¤á¸íº¹¤¬½Ð¤ë¤³¤È¤Ë²¿¤«ÌäÂ꤬¤¢¤ë¤«¡©¡×¤È¤¤¤¦º¬ËÜŪ¤Êµ¿Ìä¤ËΩ¤ÁÊ֤뤳¤È¤Ë¤·¤Þ¤¹¡£¤³¤ÎÅú¤¨¤Ï¡ÖÂ礤¤ËÌäÂê¤Ï¤¢¤ë¡×¤Ç¤¹¡£¤½¤ÎÍýͳ¤Ï¡¢Àµ³Î¤Ê´ðËܱ黻¤Ç¤ÏÁêÂÐ¸íº¹¤¬Ä㤯ÍÞ¤¨¤é¤ì¤ë¤È¤¤¤¦°ÕÌ£¤Ç¡¢¸ø¼°¤Î¡ÖÂÅÅöÀ­¡×¤ò¾ÚÌÀ¤Ç¤­¤ë¤«¤é¤Ç¤¹¡£

³Æ¸ø¼°¤Ë¤ï¤º¤«¤ÊÁêÂÐ¸íº¹¤òȼ¤¦¤È¤¤¤¦°ÕÌ£¤Ç¡¢¸ø¼°¤¬Àµ¤·¤¤¤³¤È¤ò¾ÚÌÀ¤Ç¤­¤ë¤È¤¤¤¦Íýͳ¤Ë¤è¤Ã¤Æ¡¢´Ý¤á¸íº¹¤ÎÌäÂê¤Ï¤¢¤ë¤È¤¤¤¦¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£¡ÖÁ껦¡×¤Ç¤Ï¡¢Êݸî·å¤ò»ÈÍѤ¹¤ë¥¢¥ë¥´¥ê¥º¥à¤Ë¤è¤Ã¤Æ¤Ï¡¢¾åµ­¤Î°ÕÌ£¤ÇÀµ¤·¤¤·ë²Ì¤¬ÆÀ¤é¤ì¤ë¤â¤Î¤¬¤¢¤ë¤ÈÀâÌÀ¤·¤Þ¤·¤¿¡£¤¿¤À¤·¡¢¤³¤ì¤é¤Î¸ø¼°¤Ø¤ÎÆþÎϤ¬¡¢ÉÔÀµ³Î¤Ê¬Äê¤Ë¤â¤È¤Å¤¯¿ôÃͤǤ¢¤ë¾ì¹ç¡¢ÄêÍý 3 ¤È 4 ¤Ç¸À¤¦¶­³¦¤Ï̵°ÕÌ£¤Ë¤Ê¤Ã¤Æ¤­¤Þ¤¹¡£¤³¤ÎÍýͳ¤Ï¡¢x ¤È y ¤¬¡¢¤¢¤ë¬ÄêÃͤζá»÷ÃͤǤ¢¤ë¾ì¹ç¡¢ÎÉÀ­¤ÎÁ껦 x - y ¤¬°­À­¤ËÊѤï¤ë¤«¤é¤Ç¤¹¡£¤·¤«¤·¡¢Àµ³Î¤Ê·×»»¤Ï¡¢ÄêÍý 6 ¤È 7 ¤Ç¼¨¤·¤¿Àµ³Î¤Ê´Ø·¸¤ò¼Â¾Ú¤Ç¤­¤ë¤È¤¤¤¦°ÕÌ£¤Ç¡¢¥Ç¡¼¥¿¤¬ÉÔÀµ³Î¤Ê¾ì¹ç¤Ç¤âÍ­¸ú¤Ç¤¢¤ë¤³¤È¤Ë°ã¤¤¤Ï¤¢¤ê¤Þ¤»¤ó¡£³ÆÉâÆ°¾®¿ôÅÀÊÑ¿ô¤¬¤½¤ì¤¾¤ì¡¢¼ÂºÝ¤ÎÃͤζá»÷Ãͤˤ¹¤®¤Ê¤¤¾ì¹ç¤Ç¤âÍ­¸ú¤Ç¤¢¤ë¤È¤¤¤¦¤³¤È¤Ç¤¹¡£

IEEE ɸ½à

ÉâÆ°¾®¿ôÅÀ±é»»¤Ë¤Ï¡¢IEEE 754 ¤È IEEE 854 ¤È¤¤¤¦ 2 ¤Ä¤Îɸ½à¤¬¤¢¤ê¤Þ¤¹¡£IEEE 754 ¤Ï¡¢Ã±ÀºÅ٤ξì¹ç ¦Â = 2¡¢ p = 24¡¢¤Þ¤¿ÇÜÀºÅ٤ξì¹ç p = 53 ¤ò»ÈÍѤ¹¤ë 2 ¿Ê¿ôɸ½à¤Ç¤¹ (IEEE 1987)¡£¤³¤Îɸ½à¤Ë¤è¤ê¡¢Ã±ÀºÅÙ¤ÈÇÜÀºÅ٤ξì¹ç¤ÎÀµ³Î¤Ê¥Ó¥Ã¥È¡¦¥ì¥¤¥¢¥¦¥È¤¬»ØÄꤵ¤ì¤Þ¤¹¡£IEEE 854 ¤Ç¤Ï¡¢¦Â = 2¡¢¤Þ¤¿¤Ï ¦Â = 10 ¤Î¤¤¤º¤ì¤«¤ò»ÈÍѤ·¤Þ¤¹¡£IEEE 754 ¤È°Û¤Ê¤ê¡¢IEEE 854 ¤Î¾ì¹ç¤ÏÉâÆ°¾®¿ôÅÀ¿ô¤ò¥Ó¥Ã¥È¤ËÉä¹æ²½¤¹¤ë·Á¼°¤Ï»ØÄꤵ¤ì¤Þ¤»¤ó (Cody¤Û¤« 1984)¡£p ¤ËÂФ¹¤ëÆÃÄê¤ÎÃͤÏɬÍפ¢¤ê¤Þ¤»¤ó¤¬¡¢Ã±ÀºÅÙ¤ÈÇÜÀºÅÙ¤Ëǧ¤á¤é¤ì¤ë p ¤ÎÃͤ¬À©¸Â¤µ¤ì¤Þ¤¹¡£¤Ê¤ª IEEE ɸ½à¤È¤¤¤¦ÍѸì¤Ï¡¢°Ê¾å 2 ¤Ä¤Îɸ½à¤Ë¶¦Ä̤¹¤ëÆÃÀ­¤òɽ¤ï¤¹¾ì¹ç¤Ë»ÈÍѤ·¤Þ¤¹¡£

Ëܹà¤Ç¤Ï¡¢IEEE ɸ½à¤Î³µÍפˤĤ¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£°Ê¹ß¤Î³Æ¹à¤Ç¤Ï¡¢¤³¤Îɸ½à¤Î³ÆÆÃÀ­¤È¡¢¤³¤ì¤¬ºÎÍѤµ¤ì¤¿Íýͳ¤ò¼¨¤·¤Þ¤¹¡£¤Ê¤ª IEEE ɸ½à¤¬ºÇ¤âÍ¥¤ì¤¿ÉâÆ°¾®¿ôÅÀɸ½à¤Ç¤¢¤ë¤«¤É¤¦¤«¤òʬÀϤ¹¤ë¤Î¤ÏËÜ»ñÎÁ¤Î¼ç»Ý¤Ç¤Ï¤Ê¤¤¤Î¤Ç¡¢¤¢¤¯¤Þ¤Çɸ½à¤È¤·¤Æ¤½¤Î¤Þ¤Þ¼õ¤±Æþ¤ì¡¢¤½¤Î´ðËܳµÇ°¤òÀâÌÀ¤¹¤ë¤³¤È¤Ë¤·¤Þ¤¹¡£¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢IEEE ɸ½à¼«ÂΤλñÎÁ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤ (IEEE 1987¡¢Cody ¤Û¤«¡¢1984)¡£

¥Õ¥©¡¼¥Þ¥Ã¥È¤ÈÁàºî

´ð¿ô

IEEE 854 ¤Ç ¦Â = 10 ¤¬»ÈÍѤµ¤ì¤Æ¤¤¤ëÍýͳ¤ÏÌÀ¤é¤«¤Ç¤¹¡£´ð¿ô 10 ¤Ï¡¢Æü¾ïŪ¤Ë¿Æ¤·¤ß¤ä¤¹¤¤¿ô¤Ç¤¢¤ë¤«¤é¤Ç¤¹¡£¦Â = 10 ¤Ï¡¢Æä˷׻»·ë²Ì¤ò 10 ¿Ê¿ô¤Çɽ¤ï¤¹¤è¤¦¤ÊÅÅÂî¤Ê¤É¤ËŬ¤·¤Æ¤¤¤Þ¤¹¡£

IEEE 854 ¤Ç¡¢´ð¿ô¤¬ 10 °Ê³°¤Î¾ì¹ç¤Ëɬ¤º 2 ¤ò»ÈÍѤ¹¤ëÍýͳ¤Ï¤¤¤¯¤Ä¤«¤¢¤ê¤Þ¤¹¡£¡ÖÁêÂÐ¸íº¹¤È ulp¡×¤Ç¡¢Íýͳ¤Î 1 ¤Ä¤òÀâÌÀ¤·¤Þ¤·¤¿¡£¦Â ¤ò 2 ¤Ë¤¹¤ë¤È¡¢ÁêÂÐ¸íº¹¤È¤·¤Æ·×»»¤·¤¿¾ì¹ç¡¢0.5 ulp ¤Î´Ý¤á¸íº¹¤¬ ¦Â ¤ÎÇÜ¿ô¤ÇÊÑÆ°¤¹¤ë¤Î¤Ç¡¢¸íº¹¤ÎʬÀÏ·ë²Ì¤¬¤Ï¤ë¤«¤Ë¸·¤·¤¯¤Ê¤ê¡¢ÁêÂÐ¸íº¹¤Ë¤â¤È¤Å¤¯¸íº¹¤Ï¤Û¤È¤ó¤É¤Î¾ì¹ç¡¢Ã±½ã¤ËʬÀϤǤ­¤ë¤È¤¤¤¦Íýͳ¤Ç¤¹¡£¤Þ¤¿¡¢´ð¿ô¤òÂ礭¤¯¤·¤¿¾ì¹ç¤ÎÍ­¸ú¤ÊÀºÅ٤˴ؤ¹¤ëÍýͳ¤â¹Í¤¨¤é¤ì¤Þ¤¹¡£¦Â = 16¡¢ p = 1 ¤È¡¢¦Â = 2¡¢ p = 4 ¤Î¾ì¹ç¤òÈæ³Ó¤·¤Æ¤ß¤Þ¤¹¡£¤¤¤º¤ì¤Î¥·¥¹¥Æ¥à¤âÍ­°Õ·å¤Ï 4 ¥Ó¥Ã¥È¤È¤·¤Þ¤¹¡£Î㤨¤Ð¡¢15/8 ¤ò·×»»¤·¤Þ¤¹¡£¦Â = 2 ¤Î¾ì¹ç¡¢15 ¤Ï 1.111 × 23 ¤È¡¢¤Þ¤¿ 15/8 ¤Ï 1.111 × 20 ¤Èɽ¸½¤µ¤ì¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢15/8 ¤Ï¤½¤Î¤Þ¤ÞÀµ³Î¤Ëɽ¤ï¤µ¤ì¤Þ¤¹¡£°ìÊý¡¢¦Â = 16 ¤Î¾ì¹ç¡¢15 ¤Ï F × 160 (F ¤Ï 15 ¤ËÂбþ¤¹¤ë 16 ¿Êɽ¸½) ¤Èɽ¤ï¤·¤Þ¤¹¡£¤·¤«¤·¡¢15/8 ¤Ï 1 × 160¤È¤Ê¤ê¡¢Àµ¤·¤¤¥Ó¥Ã¥È¤Ï 1 ¥Ó¥Ã¥È¤·¤«¤¢¤ê¤Þ¤»¤ó¡£°ìÈ̤ˡ¢´ð¿ô 16 ¤ò»ÈÍѤ¹¤ë¤ÈºÇÂç 3 ¥Ó¥Ã¥È¤ò¼º¤¦¤³¤È¤¬¤¢¤ë¤Î¤Ç¡¢ p ¤Î 16 ¿Ê·å¤ÎÀºÅ٤ϡ¢Í­¸úÀºÅÙ¤¬ 2 ¿Ê¤Î 4p ʬ¤Ç¤Ï¤Ê¤¯¡¢4p -3 ¤Ë¤Þ¤ÇÄã²¼¤¹¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£¦Â ¤ÎÃͤ¬Â礭¤¯¤Ê¤ë¤Ë½¾¤Ã¤Æ¡¢¤³¤¦¤·¤¿ÌäÂ꤬½Ð¤Æ¤¯¤ë¤È¤¹¤ì¤Ð¡¢IBM ¤Ï System/370 ¤Ë¡¢¤Ê¤¼ ¦Â = 16 ¤òºÎÍѤ·¤¿¤Î¤Ç¤·¤ç¤¦¡£¤½¤Î¿¿°Õ¤Ï IBM °Ê³°¤ËÃΤë¤è¤·¤â¤¢¤ê¤Þ¤»¤ó¤¬¡¢2 ¤Ä¤ÎÍýͳ¤¬¹Í¤¨¤é¤ì¤Þ¤¹¡£¤Þ¤º¡¢»Ø¿ô¤ÎÈϰϤ¬¹­¤¬¤ë¤È¤¤¤¦ÅÀ¤Ç¤¹¡£System/370 ¤ÎñÀºÅ٤Ǥϡ¢¦Â = 16 ¤È p = 6 ¤¬»ÈÍѤµ¤ì¤Æ¤¤¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢Í­°Õ·å¤Ë¤Ï 24 ¥Ó¥Ã¥È¤¬É¬Íפˤʤê¤Þ¤¹¡£24 ¥Ó¥Ã¥È¤Ï 32 ¥Ó¥Ã¥È¤Ë¼ý¤Þ¤ë¤Î¤Ç¡¢»Ø¿ôÍѤΠ7 ¥Ó¥Ã¥È¤ÈÉä¹æÍѤΠ1 ¥Ó¥Ã¥È¤¬»Ä¤ê¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢É½¸½²Äǽ¤Ê¿ô»ú¤ÎÈÏ°Ï¤Ï 16-2 6¤«¤é 162 6 = 22 8 ¤Ë¤Ê¤ê¤Þ¤¹¡£¦Â = 2 ¤ÇƱ¤¸»Ø¿ôÈϰϤò³ÎÊݤ¹¤ë¤Ë¤Ï¡¢»Ø¿ôʬ¤Ë 9 ¥Ó¥Ã¥È¤¬É¬ÍפȤʤꡢͭ°Õ·å¤Ë¤Ï¤ï¤º¤« 22 ¥Ó¥Ã¥È¤·¤«»ÈÍѤǤ­¤Þ¤»¤ó¡£°ìÊý¡¢¦Â = 16 ¤È¤¹¤ë¤È¡¢Á°½Ò¤Î¤È¤ª¤ê¡¢Í­¸úÀºÅÙ¤¬ 4p - 3 = 21¥Ó¥Ã¥È¤Ë¤Þ¤ÇÄã²¼¤¹¤ë¤È¤¤¤¦ÌäÂ꤬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤â¡¢¦Â = 2 ¤Ç 1 ¥Ó¥Ã¥Èʬ¡¢ÀºÅÙ¤ò¾å¤²¤ë (Ëܹà¤Ç¸å½Ò) ¤³¤È¤¬¤Ç¤­¤ë¾ì¹ç¤Ï¡¢¤µ¤é¤Ë°­¤¯¤Ê¤ê¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢¦Â = 2 ¤Î¥Þ¥·¥ó¤Ë¤Ï¡¢¦Â = 16 ¤Î¥Þ¥·¥ó¤Î 21 ¡Á 24 ¥Ó¥Ã¥È¤ËÁêÅö¤¹¤ë 23 ¥Ó¥Ã¥Èʬ¤ÎÀºÅÙ¤¬³ÎÊݤµ¤ì¤Þ¤¹¡£

IBM ¤¬ ¦Â = 16 ¤òºÎÍѤ·¤¿¤â¤¦ 1 ¤Ä¤ÎÍýͳ¤Ï¥·¥Õ¥È¤Ë´Ø¤¹¤ë¤â¤Î¤Ç¤¹¡£2 ¤Ä¤ÎÉâÆ°¾®¿ôÅÀ¿ô¤ò²Ã»»¤·¤¿¾ì¹ç¤Ë¡¢³Æ»Ø¿ô¤¬°Û¤Ê¤Ã¤Æ¤¤¤ë¤È¡¢´ð¿ô¤Î°ÌÃÖ¤ò¹ç¤ï¤»¤ë¤¿¤á¤Ë¡¢¤¤¤º¤ì¤«¤ÎÍ­°Õ·å¤ò¥·¥Õ¥È¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤¬¸¶°ø¤Ç¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤¬Äã²¼¤¹¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£¦Â = 16¡¢p = 1 ¤Î¥·¥¹¥Æ¥à¤Ç¤Ï¡¢1¡Á15 ¤Þ¤Ç¤Î¿ô¤Ï¤¹¤Ù¤Æ»Ø¿ô¤¬Æ±¤¸¤Ë¤Ê¤ë¤Î¤Ç¡¢( ) = 105 ¤Î¤É¤ÎÁȤ߹ç¤ï¤»¤ò²Ã»»¤·¤Æ¤â¥·¥Õ¥È¤ÏɬÍפ¢¤ê¤Þ¤»¤ó¡£°ìÊý¡¢¦Â= 2¡¢p = 4 ¤Î¥·¥¹¥Æ¥à¤Ç¤Ï¡¢¤³¤ì¤é¤Î¿ô¤Î»Ø¿ô¤ÎÈÏ°Ï¤Ï 0¡Á3 ¤Ê¤Î¤Ç¡¢105 ¥Ú¥¢¤Î¤¦¤Á¤Î 70 ¤Ë¤Ä¤¤¤Æ¤Ï¥·¥Õ¥È¤¬É¬Íפˤʤê¤Þ¤¹¡£

ºÇ¶á¤Î¥Ï¡¼¥É¥¦¥§¥¢¤Ç¤Ï¡¢¥ª¥Ú¥é¥ó¥É¤Î¥µ¥Ö¥»¥Ã¥È¤ËÂФ¹¤ë¥·¥Õ¥È¤òÈò¤±¤Æ¤â¡¢¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¾å¡¢¤½¤ì¤Û¤ÉÂ礭¤ÊÍøÅÀ¤ÏÆÀ¤é¤ì¤Ê¤¤¤Î¤Ç¡¢¥ï¥Ö¥ë¤Î¾¯¤Ê¤¤ ¦Â= 2 ¤ÎÊý¤¬Í­Íø¤Ê´ð¿ô¤Ç¤¢¤ë¤È¸À¤¨¤Þ¤¹¡£¦Â= 2 ¤Î¤â¤¦ 1 ¤Ä¤ÎÍøÅÀ¤Ï¡¢Í­°Õ·å¤Î;ʬ¤Ê¥Ó¥Ã¥È¤¬ÆÀ¤é¤ì¤ëÅÀ¤Ç¤¹12¡£ÉâÆ°¾®¿ôÅÀ¿ô¤Ïɬ¤ºÀµµ¬²½¤µ¤ì¤ë¤Î¤Ç¡¢Í­°Õ·å¤ÎºÇ¾å°Ì¥Ó¥Ã¥È¤Ïɬ¤º 1 ¤Ë¤Ê¤ê¡¢¤³¤ì¤ËÂбþ¤¹¤ë¥Ó¥Ã¥È¤ò̵Â̤ˤ¹¤ë¤Î¤Ï°ÕÌ£¤¬¤¢¤ê¤Þ¤»¤ó¡£¤³¤Î¼êË¡¤ò¸ú²ÌŪ¤ËÍøÍѤ·¤¿¥Õ¥©¡¼¥Þ¥Ã¥È¤Î¤³¤È¤ò¡Ö±£¤ì¥Ó¥Ã¥È¡×¤È¸À¤¤¤Þ¤¹¡£¡ÖÉâÆ°¾®¿ôÅÀ¥Õ¥©¡¼¥Þ¥Ã¥È¡×¤Ç¤Ï¡¢0 ¤ËÂФ¹¤ëÆüì¤Êµ¬Ìó¤¬É¬ÍפǤ¢¤ë¤³¤È¤òÀâÌÀ¤·¤Þ¤·¤¿¡£¤½¤³¤Ç¼¨¤·¤¿ÊýË¡¤Ï¡¢emin - 1 ¤Î»Ø¿ô¤È¡¢¤¹¤Ù¤Æ¥¼¥í¤ÎÍ­°Õ·å¤Ë¤è¤ê¡¢
¤Ç¤Ï¤Ê¤¯¡¢0 ¤òɽ¤ï¤¹¤È¤¤¤¦¤â¤Î¤Ç¤¹¡£

IEEE 754 ¤ÎñÀºÅ٤ϡ¢Éä¹æÍѤΠ1 ¥Ó¥Ã¥È¡¢»Ø¿ôÍѤΠ8 ¥Ó¥Ã¥È¡¢¤ª¤è¤ÓÍ­°Õ·åÍѤΠ23 ¥Ó¥Ã¥È¤ò»ÈÍѤ·¤Æ¡¢32 ¥Ó¥Ã¥È¤ò¥¨¥ó¥³¡¼¥É¤·¤Þ¤¹¡£¤¿¤À¤·¡¢±£¤ì¥Ó¥Ã¥È¤ò»ÈÍѤ¹¤ë¤Î¤Ç¡¢23 ¥Ó¥Ã¥È¤À¤±¤ò»ÈÍѤ·¤Æ¥¨¥ó¥³¡¼¥É¤·¤¿¾ì¹ç¤Ç¤â¡¢Í­°Õ·å¤Ï 24 ¥Ó¥Ã¥È (p =24) ¤Ë¤Ê¤ê¤Þ¤¹¡£

ÀºÅÙ

IEEE ɸ½à¤Ç¤Ï¡¢Ã±ÀºÅÙ¡¢ÇÜÀºÅÙ¡¢³ÈĥñÀºÅÙ¡¢¤ª¤è¤Ó³ÈÄ¥ÇÜÀºÅ٤Ȥ¤¤¦ 4 ¼ïÎà¤Î¥Õ¥©¡¼¥Þ¥Ã¥È¤òÄêµÁ¤·¤Æ¤¤¤Þ¤¹¡£IEEE754 ¤Î¾ì¹ç¡¢Ã±ÀºÅÙ¤ÈÇÜÀºÅ٤Ϥۤܡ¢ÂçÉôʬ¤ÎÉâÆ°¾®¿ôÅÀ¥Ï¡¼¥É¥¦¥§¥¢¤ÇÍ׵ᤵ¤ì¤ëµ¡Ç½¤ËÂбþ¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£Ã±ÀºÅÙ¤Ç¤Ï 32 ¥Ó¥Ã¥È¤Î¥·¥ó¥°¥ë¥ï¡¼¥É¡¢¤Þ¤¿ÇÜÀºÅÙ¤Ç¤Ï 2 ¤ÄϢ³¤·¤¿ 32 ¥Ó¥Ã¥È¥ï¡¼¥É¤¬ÀêÍ­¤µ¤ì¤Þ¤¹¡£³ÈÄ¥ÀºÅ٤ϡ¢ÀºÅÙ¤ò¿¾¯¾å¤²¡¢»Ø¿ô¤ÎÈϰϤò³ÈÄ¥¤·¤¿¥Õ¥©¡¼¥Þ¥Ã¥È¤Ç¤¹
(ɽ D-1) ¡£

ɽ D-1   IEEE 754¥Õ¥©¡¼¥Þ¥Ã¥È¤Î¥Ñ¥é¥á¡¼¥¿
¥Ñ¥é¥á¡¼¥¿ ¥Õ¥©¡¼¥Þ¥Ã¥È
ñÀºÅÙ ³ÈĥñÀºÅÙ ÇÜÀºÅÙ ³ÈÄ¥ÇÜÀºÅÙ
p 24 ¡æ32 53 ¡æ64
emax +127 ¡æ1023 +1023 > 16383
emin -126 ¡å-1022 -1022 ¡å -16382
»Ø¿ô¤ÎÉý (¥Ó¥Ã¥È) 8 ¡å11 11 ¡æ15
¥Õ¥©¡¼¥Þ¥Ã¥È¤ÎÉý (¥Ó¥Ã¥È) 32 ¡æ43 64 ¡æ79


IEEE ɸ½à¤Ï¡¢³ÈÄ¥ÀºÅ٤ˤè¤Ã¤ÆÄɲ乤ë;ʬ¤Ê¥Ó¥Ã¥È¿ô¤Î²¼¸Â¤À¤±¤ò»ØÄꤷ¤Þ¤¹¡£³ÈÄ¥ÇÜÀºÅÙ¥Õ¥©¡¼¥Þ¥Ã¥È¤ÎºÇÄãµöÍƸÂÅ٤ϡ¢¾å¤Îɽ¤Ë¤è¤ë¤È 79 ¥Ó¥Ã¥È¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¤¬¡¢Êص¹¾å 80 ¥Ó¥Ã¥È¥Õ¥©¡¼¥Þ¥Ã¥È¤È¸Æ¤Ð¤ì¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£¤³¤ÎÍýͳ¤Ï¡¢³ÈÄ¥ÀºÅ٤Υϡ¼¥É¥¦¥§¥¢¼ÂÁõ¤Ç¤Ï°ìÈ̤˱£¤ì¥Ó¥Ã¥È¤Ï»ÈÍѤ·¤Ê¤¤¤Î¤Ç¡¢79 ¥Ó¥Ã¥È¤Ç¤Ï¤Ê¤¯¡¢80 ¥Ó¥Ã¥È¤ò»ÈÍѤ¹¤ë¤«¤é¤Ç¤¹¡£13

IEEE ɸ½à¤Ç¤Ï¡¢³ÈÄ¥ÀºÅ٤˺Ǥâ½ÅÅÀ¤¬ÃÖ¤«¤ì¤ë¤Î¤Ç¡¢ÇÜÀºÅ٤˴ؤ¹¤ë¿ä¾©¤Ï²¿¤â¤¢¤ê¤Þ¤»¤ó¡£Âå¤ï¤ê¤Ë¡¢¥µ¥Ý¡¼¥È¤µ¤ì¤ëºÇ¤â¹­¤¤´ðËÜ¥Õ¥©¡¼¥Þ¥Ã¥È¤ËÂбþ¤¹¤ë³ÈÄ¥¥Õ¥©¡¼¥Þ¥Ã¥È¤ò¥¤¥ó¥×¥ê¥á¥ó¥È¤¹¤ë¤è¤¦¤Ë¶¯¤¯¿ä¾©¤µ¤ì¤Æ¤¤¤Þ¤¹¡£

³ÈÄ¥ÀºÅÙ¤¬ºÎÍѤµ¤ì¤¿Íýͳ¤Ï¡¢ÅÅÂî¤Ë¤è¤ë¤È¤³¤í¤¬¤¢¤ê¤Þ¤¹¡£ÅÅÂî¤ÏÄ̾10 ·å¤ò»ÈÍѤ·¤Þ¤¹¤¬¡¢ÆâÉôŪ¤Ë¤Ï 13 ·å¤ò»ÈÍѤ·¤Þ¤¹¡£13 ·å¤Î¤¦¤Á¡¢10 ·å¤À¤±¤òɽ¼¨¤¹¤ë¤³¤È¤Ë¤è¤ê¡¢ÅÅÂî¤Ï°ì¸«¡¢»Ø¿ô¡¢¥³¥µ¥¤¥ó¤Ê¤É¤Î´Ø¿ô¤ò 10 ·å¤Þ¤Ç¤ÎÀºÅ٤Ƿ׻»¤¹¤ë¡Ö¥Ö¥é¥Ã¥¯¥Ü¥Ã¥¯¥¹¡×¤ò»ÈÍѤ·¤Æ¤¤¤ë¤è¤¦¤Ë»×¤ï¤ì¤Þ¤¹¡£»Ø¿ô¡¢Âпô¡¢¥³¥µ¥¤¥ó¤Ê¤É¤Î´Ø¿ô¤ò 10 ·å¤Þ¤Ç¤ÎÀºÅÙ¤ÇÈæ³ÓŪ¸úΨ¤è¤¯·×»»¤Ç¤­¤ëÅÅÂî¤Ç¤Ï¡¢Í¾Ê¬¤Ê·å¤¬¤¤¤¯¤Ä¤«É¬Íפˤʤê¤Þ¤¹¡£·ë¶É¡¢500 ¥æ¥Ë¥Ã¥ÈÄøÅÙ¤Î¸íº¹¤ÇÂпô¤Î¶á»÷Ãͤò·×»»¤¹¤ëÍ­Íý¼°¤ò¸«¤Ä¤±¤ë¤Î¤Ï¤½¤ì¤Û¤ÉÆñ¤·¤¯¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤·¤¿¤¬¤Ã¤Æ¡¢13 ·å¤ò»ÈÍѤ·¤Æ·×»»¤¹¤ë¤³¤È¤Ë¤è¤ê¡¢10 ·å¤ÇÀµ¤·¤¤²ò¤¬ÆÀ¤é¤ì¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£¤³¤Î;ʬ¤Ê 3 ¥Ó¥Ã¥È¤ò±£¤ì¥Ó¥Ã¥È¤È¤·¤Æ»ÈÍѤ¹¤ë¤³¤È¤Ë¤è¤ê¡¢¥ª¥Ú¥ì¡¼¥¿¤Ïñ½ã¤Ê¥â¥Ç¥ë¤Ë¤è¤Ã¤ÆÅÅÂî¤òÁàºî¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£

IEEE ɸ½à¤Î³ÈÄ¥ÀºÅÙ¤âƱ¤¸¤è¤¦¤ÊºîÍѤò»ý¤Ã¤Æ¤¤¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢³Æ¥é¥¤¥Ö¥é¥ê¤ÏñÀºÅÙ (¤Þ¤¿¤ÏÇÜÀºÅÙ) ¤Ë¤è¤ê 0.5 ulp ÄøÅÙ¤Î¸íº¹¤ÎÈϰϤǸúΨŪ¤Ë·×»»¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢¥æ¡¼¥¶¡¼¤Ïñ½ã¤Ê¥â¥Ç¥ë¤Ë¤è¤Ã¤Æ³Æ¥é¥¤¥Ö¥é¥ê¤ò»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£Î㤨¤Ð¡¢¾è»»¤äÂпô¤Î¸Æ¤Ó½Ð¤·¤Ê¤É¤Ë¸Â¤é¤º¡¢´ðËÜŪ¤ÊÁàºî¤Ë¤è¤Ã¤Æ¤â¡¢0.5 ulp °ÊÆâ¤Î¸íº¹¤ÇÀµ³Î¤ËÃͤ¬ÊÖ¤µ¤ì¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£¤¿¤À¤·³ÈÄ¥ÀºÅÙ¤ò»ÈÍѤ¹¤ë¤È¤­¤Ï¡¢¤³¤ì¤ò»ÈÍѤ·¤Æ¤¤¤ë¤³¤È¤ò¥æ¡¼¥¶¡¼¤Ë¤âÌÀ¤é¤«¤Ë¤¹¤ë¤³¤È¤¬½ÅÍפǤ¹¡£Î㤨¤Ð¡¢ÅÅÂî¤Çɽ¼¨¤¹¤ëÃͤÎÆâÉôɽ¸½¤¬¡¢É½¼¨·Á¼°¤ÈƱ¤¸ÀºÅ٤Ǵݤá¤é¤ì¤Æ¤¤¤ë¾ì¹ç¡¢°Ê¹ß¤ÎÁàºî¤Î·ë²Ì¤Ï±£¤ì¥Ó¥Ã¥È¤Ë°Í¸¤¹¤ë¤Î¤Ç¡¢¥æ¡¼¥¶¡¼¤Ë¤Ïͽ¬¤Ç¤­¤Ê¤¯¤Ê¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£

³ÈÄ¥ÀºÅ٤ˤĤ¤¤Æ¤µ¤é¤Ë¾Ü¤·¤¯ÀâÌÀ¤¹¤ë¤¿¤á¤Ë¡¢IEEE 754 ¤ÎñÀºÅÙɽ¸½¤È 10 ¿Ê¿ô¤òÊÑ´¹¤¹¤ë¤È¤­¤ÎÌäÂê¤Ë¤Ä¤¤¤Æ¹Í¤¨¤Æ¤ß¤Þ¤¹¡£²Äǽ¤Ç¤¢¤ì¤Ð¡¢10 ¿Ê¿ô¤òÆɤßÌ᤹»þÅÀ¤Ç¡¢Ã±ÀºÅÙ¿ô¤âÉü¸µ¤Ç¤­¤ë¤è¤¦¤Ë¡¢½½Ê¬¤Ê·å¿ô¤ò³ÎÊݤ·¤ÆñÀºÅÙ¿ô¤ò½ÐÎϤ¹¤ë¤Î¤¬ÍýÁÛŪ¤Ç¤¹¡£Ã±ÀºÅ٤Π2 ¿Ê¿ô¤òÉü¸µ¤¹¤ë¤Î¤Ë¡¢9 ·å¤Î 10 ¿Ê¿ô¤¬¤¢¤ì¤Ð½½Ê¬¤Ç¤¢¤ë¤³¤È¤¬¤ï¤«¤Ã¤Æ¤¤¤Þ¤¹ (¡Ö2 ¿Ê¿ô¤«¤é 10 ¿Ê¿ô¤Ø¤ÎÊÑ´¹¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤)¡£10 ¿Ê¿ô¤ò°ì°Õ¤Î 2 ¿Êɽ¸½¤ËÌ᤹¾ì¹ç¡¢1 ulp ÄøÅ٤µ¤¤´Ý¤á¸íº¹¤¬¤¢¤Ã¤Æ¤â¸í¤Ã¤¿²ò¤Ë¤Ê¤ë¤Î¤Ç¡¢Ã×̿Ū¤È¤Ê¤ê¤Þ¤¹¡£³ÈÄ¥ÀºÅÙ¤¬¸úΨŪ¤Ê¥¢¥ë¥´¥ê¥º¥à¤ËÉԲķç¤È¤Ê¤ë¤è¤¦¤Ê¾õ¶·¤ò¼¡¤ËÀâÌÀ¤·¤Þ¤¹¡£Ã±ÀºÅ٤ξì¹ç¡¢10 ¿Ê¿ô¤òñÀºÅ٤Π2 ¿Ê¿ô¤ËÊÑ´¹¤¹¤ë¤Ë¤Ï¡¢¤­¤ï¤á¤Æ´Êñ¤ÊÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£¤Þ¤º¡¢À°¿ô N ¤È¤·¤Æ 9 ·å¤Î 10 ¿Ê¿ô¤òÆɤ߼è¤ê¡¢¾®¿ôÅÀ¤Ï̵»ë¤·¤Þ¤¹¡£

ɽ D-1 ¤«¤é¡¢p ¡æ 32 ¤Î¾ì¹ç¡¢109 < 232 4.3 × 109 ¤È¤Ê¤ë¤Î¤Ç¡¢N ¤ÏñÀºÅÙ³ÈÄ¥¥Õ¥©¡¼¥Þ¥Ã¥È¤ÇÀµ³Î¤Ëɽ¸½¤Ç¤­¤ë¤³¤È¤¬¤ï¤«¤ê¤Þ¤¹¡£¼¡¤Ë N ¤ò¥¹¥±¡¼¥ê¥ó¥°¤¹¤ë¤Î¤ËɬÍ×¤Ê 10P ¤Î¤Ù¤­¾è¤òµá¤á¤Þ¤¹¡£¤³¤ì¤Ï¡¢10 ¿Ê¿ô¤Î»Ø¿ô¤È¡¢¤½¤Î»þÅÀ¤Þ¤Ç¤Ë̵»ë¤µ¤ì¤¿¾®¿ôÅÀ¤Î°ÌÃÖ¤ò¹Íθ¤·¤¿ÁȤ߹ç¤ï¤»¤Ë¤Ê¤ê¤Þ¤¹¡£10|P| ¤ò·×»»¤·¤Þ¤¹¡£|P| ¡å 13 ¤Ç¤¢¤ì¤Ð¡¢1013 = 213 513 ¤Ç¡¢513 < 232 ¤È¤Ê¤ë¤Î¤Ç¡¢¤³¤ì¤âÀµ³Î¤Ëɽ¸½¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ºÇ¸å¤Ë¡¢N ¤È 10|P| ¤ò¾è»» (¤Þ¤¿¤Ï p < 0 ¤Î¾ì¹ç¤Ï½ü»») ¤·¤Þ¤¹¡£¤³¤ÎºÇ¸å¤Î·×»»¤¬Àµ¤·¤¯¹Ô¤ï¤ì¤ì¤Ð¡¢ºÇ¤â¶á¤¤ 2 ¿Ê¿ô¤¬µá¤á¤é¤ì¤Þ¤¹¡£ºÇ¸å¤Î¾è»» (½ü»») ¤òÀµ³Î¤Ë¹Ô¤¦ÊýË¡¤Ë¤Ä¤¤¤Æ¤Ï¡¢¡Ö2 ¿Ê¿ô¤«¤é 10 ¿Ê¿ô¤Ø¤ÎÊÑ´¹¡×¤Ç¾Ü¤·¤¯ÀâÌÀ¤·¤Æ¤¤¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢|P| ¡å 13 ¤Î¾ì¹ç¡¢Ã±ÀºÅÙ³ÈÄ¥¥Õ¥©¡¼¥Þ¥Ã¥È¤ò»ÈÍѤ¹¤ë¤³¤È¤Ë¤è¤ê¡¢9 ·å¤Î 10 ¿Ê¿ô¤¬ºÇ¤â¶á¤¤ 2 ¿Ê¿ô¤ËÊÑ´¹ (¤¹¤Ê¤ï¤ÁÀµ³Î¤Ê´Ý¤á) ¤µ¤ì¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£¤Þ¤¿ |P| > 13 ¤Î¾ì¹ç¡¢Ã±ÀºÅÙ³ÈÄ¥¥Õ¥©¡¼¥Þ¥Ã¥È¤Ç¤Ï¾å¤Î¥¢¥ë¥´¥ê¥º¥à¤Ë½½Ê¬Âбþ¤Ç¤­¤Ê¤¤¤Î¤Ç¡¢É¬¤º¤·¤âÀµ³Î¤Ë 2 ¿Ê¿ô¤¬·×»»¤Ç¤­¤ë¤È¤Ï¸Â¤ê¤Þ¤»¤ó¡£¤¿¤À¤· Coonen (1984) ¤Ë¤è¤ê¡¢2 ¿Ê¿ô¤«¤é 10 ¿Ê¿ô¤Ø¤ÎÊÑ´¹¤È¡¢¤½¤ÎµÕ¤ÎÁàºî¤Ç¡¢¤â¤È¤Î 2 ¿Ê¿ô¤¬Éü¸µ¤µ¤ì¤ë¤³¤È¤¬¼Â¾Ú¤µ¤ì¤Æ¤¤¤Þ¤¹¡£

ÇÜÀºÅÙ¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ì¤Ð¡¢¾åµ­¤Î¥¢¥ë¥´¥ê¥º¥à¤Ï³ÈĥñÀºÅÙ¥Õ¥©¡¼¥Þ¥Ã¥È¤Ç¤Ï¤Ê¤¯ÇÜÀºÅ٤Ǽ¹Ԥµ¤ì¤Þ¤¹¡£¤¿¤À¤·¡¢ÇÜÀºÅÙ¥Õ¥©¡¼¥Þ¥Ã¥È¤ò 17 ·å¤Î 10 ¿Ê¿ô¤ËÊÑ´¹¤·¡¢ºÆÅÙÌ᤹¾ì¹ç¤Ë¤Ï³ÈÄ¥ÇÜÀºÅÙ¥Õ¥©¡¼¥Þ¥Ã¥È¤¬É¬Íפˤʤê¤Þ¤¹¡£

»Ø¿ô

»Ø¿ô¤Ë¤ÏÉé¤ÈÀµ¤Î 2 ¤Ä¤Î´Ø·¸¤¬¹Í¤¨¤é¤ì¤ë¤Î¤Ç¡¢Éä¹æ¤òɽ¸½¤¹¤ë¤¿¤á¤ÎÆÃÄê¤ÎÊýË¡¤òÁªÂò¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£Éä¹æÉÕ¤­¤Î¿ô¤Ï¡¢Éä¹æ¤È¿ôÎ̤òÁȤ߹ç¤ï¤»¤ëÊýË¡¤È¡¢2 ¤ÎÊä¿ô¤Çɽ¸½¤¹¤ëÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£Éä¹æ/¿ôÎ̤ηÁ¼°¤Ï¡¢IEEE ¥Õ¥©¡¼¥Þ¥Ã¥È¤Ë¤è¤ëÍ­°Õ·å¤ÎÉä¹æ¤òɽ¤ï¤¹¾ì¹ç¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£¤¹¤Ê¤ï¤Á 1 ¥Ó¥Ã¥È¤òÉä¹æÍѤȤ·¤Æ³ÎÊݤ·¡¢»Ä¤ê¤Î¥Ó¥Ã¥È¤Ç¿ôÎ̤òɽ¤ï¤·¤Þ¤¹¡£¤Þ¤¿ 2 ¤ÎÊä¿ô¤Çɽ¤ï¤¹ÊýË¡¤ÏÀ°¿ô±é»»¤Î¤È¤­¤Ë¤è¤¯»ÈÍѤµ¤ì¤Þ¤¹¡£¤³¤ÎÊýË¡¤Ç¤Ï¡¢[ -2p-1 , 2p-1 - 1] ¤ÎÈϰϤˤ¢¤ë¿ô¤ò 2p ¤Î¾ê;¤ËÁêÅö¤¹¤ëÈóÉé¤ÎºÇ¾®ÃͤÇɽ¤ï¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£

IEEE 2 ¿Ê¿ôɸ½à¤Ç»Ø¿ô¤òɽ¸½¤¹¤ë¾ì¹ç¤Ï¡¢¤¤¤º¤ì¤ÎÊýË¡¤â»ÈÍѤ·¤Þ¤»¤ó¡£Âå¤ï¤ê¤Ë¡Ö¥Ð¥¤¥¢¥¹É½¸½¡×¤ò»ÈÍѤ·¤Þ¤¹¡£»Ø¿ô¤ò 8 ¥Ó¥Ã¥È¤Ç³ÊǼ¤¹¤ëñÀºÅ٤ξì¹ç¡¢¥Ð¥¤¥¢¥¹¤Ï 127 ¤È¤Ê¤ê¤Þ¤¹ (ÇÜÀºÅ٤ξì¹ç¤Ï 1023 ¤Ç¤¹)¡£ ¤¬Éä¹æ¤Ê¤·¤ÎÀ°¿ô¤òɽ¤ï¤¹»Ø¿ô¥Ó¥Ã¥È¤Ç¤¢¤ë¾ì¹ç¡¢ÉâÆ°¾®¿ôÅÀ¿ô¤Î»Ø¿ô¤Ï - 127 ¤Ë¤Ê¤ê¤Þ¤¹¡£¤³¤ì¤Ï¥Ð¥¤¥¢¥¹»Ø¿ô ¤È¶èÊ̤¹¤ë¤¿¤á¤Ë¡¢¡Ö¥Ð¥¤¥¢¥¹¤Ê¤·¤Î»Ø¿ô¡×¤È¸Æ¤Ð¤ì¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£

ɽ D-1 ¤ò¸«¤ë¤È¡¢Ã±ÀºÅ٤ξì¹ç¤Ï emax = 127¡¢emin = -126 ¤Ç¤¢¤ë¤³¤È¤¬¤ï¤«¤ê¤Þ¤¹¡£|emin |< emax ¤È¤Ê¤ë¤Î¤Ï¡¢ºÇ¾®ÃÍ ¤ÎµÕ¿ô¤¬¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤·¤Ê¤¤¤È¤¤¤¦Íýͳ¤Ë¤è¤ë¤â¤Î¤Ç¤¹¡£ºÇÂçÃͤεտô¤¬¥¢¥ó¥À¡¼¥Õ¥í¡¼¤¹¤ë¤³¤È¤Ï¤¢¤ê¤Þ¤¹¤¬¡¢¤³¤ì¤Ï¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤Î¾ì¹ç¤Û¤É¿¼¹ï¤ÊÌäÂê¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£¡Ö´ð¿ô¡×¤Ç¤Ï¡¢0 ¤òɽ¤ï¤¹¤Î¤Ë emin - 1¤ò»ÈÍѤ¹¤ë¤ÈÀâÌÀ¤·¤Þ¤·¤¿¡£¤Þ¤¿ ¡ÖÆüì¤Ê¿ô¡×¤Ç¤Ï¡¢emax + 1 ¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£IEEE ñÀºÅ٤ξì¹ç¡¢¤³¤ì¤Ï¥Ð¥¤¥¢¥¹»Ø¿ô¤ÎÈϰϤ¬
emin - 1 = 127 ¤«¤é emax + 1 = 128 ¤Ë¤¢¤ë¤È¤¤¤¦¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£°ìÊý¡¢¥Ð¥¤¥¢¥¹¤Ê¤·¤Î»Ø¿ô¤ÎÈϰϤϡ¢0 ¤«¤é 255 ¤Þ¤Ç¤È¤Ê¤ê¡¢8 ¥Ó¥Ã¥È¤Çɽ¸½¤Ç¤­¤ëÈóÉé¤Î¿ô¤ËÁêÅö¤·¤Þ¤¹¡£

Áàºî

IEEE ɸ½à¤Ç¤Ï¡¢»Í§±é»»¤Î·ë²Ì¤¬Àµ³Î¤Ë´Ý¤á¤é¤ì¤Þ¤¹¡£¤¹¤Ê¤ï¤Á·ë²Ì¤òÀµ³Î¤Ë·×»»¤·¤¿¸å¡¢ºÇ¤â¶á¤¤ÉâÆ°¾®¿ôÅÀ¿ô¤Ë´Ý¤á¤ë (¶ö¿ô¤Ø¤Î´Ý¤á) ¤È¤¤¤¦¤³¤È¤Ç¤¹¡£¡ÖÊݸî·å¡×¤Ç¤Ï¡¢Àµ³Î¤Êº¹¤ä 2 ¤Ä¤ÎÉâÆ°¾®¿ôÅÀ¿ô¤ÎϤò·×»»¤¹¤ë¤Î¤Ï¡¢»Ø¿ô¤¬Â礭¤¯°Û¤Ê¤ë¤È¤­¤Ë¥³¥¹¥È¹â¤Ë¤Ê¤ë¤È»ØŦ¤·¤Þ¤·¤¿¡£¤µ¤é¤Ë¡¢ÁêÂÐ¸íº¹¤òºÇ¾®¸Â¤ËÍÞÀ©¤·¤Ê¤¬¤éº¹¤ò·×»»¤¹¤ëÊØÍø¤ÊÊýË¡¤â¾Ò²ð¤·¤Þ¤·¤¿¡£¤¿¤À¤·¡¢1 ·å¤ÎÊݸî·å¤ò»ÈÍѤ·¤Æ·×»»¤·¤¿¤«¤é¤È¤¤¤Ã¤Æ¡¢É¬¤º¤·¤â¡¢Àµ³Î¤Ê·ë²Ì¤ò·×»»¤·¤¿¾å¤Ç´Ý¤á¤òµá¤á¤¿¾ì¹ç¤ÈƱÅù¤Î·ë²Ì¤¬ÆÀ¤é¤ì¤ë¤È¤Ï¸Â¤ê¤Þ¤»¤ó¡£

¤½¤³¤Ç 2 ·åÌܤÎÊݸî·å¤È 3 ·åÌܤΥ¹¥Æ¥£¥Ã¥­¥Ó¥Ã¥È¤ò»ÈÍѤ¹¤ë¤³¤È¤Ë¤è¤ê¡¢1 ·å¤ÎÊݸî·å¤Î¾ì¹ç¤è¤ê¿¾¯¤Î¥³¥¹¥È¤Ïȼ¤¦¤â¤Î¤Î¡¢Àµ³Î¤Ê·×»»¤Î¸å¤Ë´Ý¤á¤ò¹Ô¤Ê¤Ã¤¿¾ì¹ç¤ÈƱ¤¸·ë²Ì¤òÆÀ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹ (Goldberg 1990)¡£¤³¤ÎÊýË¡¤Ë¤è¤ê¡¢É¸½à¤ò¤è¤ê¸úΨŪ¤Ë¼Â¸½¤Ç¤­¤Þ¤¹¡£

»»½Ñ±é»»¤Î·ë²Ì¤ò´°Á´¤Ë»ØÄꤹ¤ë¤³¤È¤Ë¤è¤ê¡¢¥½¥Õ¥È¥¦¥§¥¢¤Î°Ü¿¢À­¤¬²þÁ±¤µ¤ì¤Þ¤¹¡£¤¢¤ë¥Þ¥·¥ó¤«¤éÊ̤Υޥ·¥ó¤Ë¥×¥í¥°¥é¥à¤ò°Ü¿¢¤¹¤ë¤È¤­¤Ë¡¢Î¾Êý¤Î¥Þ¥·¥ó¤Ç IEEE ɸ½à¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ì¤Ð¡¢¤½¤Î´Ö¤ËÀ¸À®¤µ¤ì¤ëÃæ´Ö·ë²Ì¤Ï¤¹¤Ù¤Æ¥½¥Õ¥È¥¦¥§¥¢¥Ð¥°¤Ë¸¶°ø¤¬¤¢¤ê¡¢±é»»¾å¤Îº¹¤Ë¤è¤ë¤â¤Î¤Ç¤Ê¤¤¤³¤È¤¬³Î¿®¤Ç¤­¤Þ¤¹¡£¤Þ¤¿Àµ³Î¤Ê»ØÄê¤Ë¤è¤Ã¤Æ¡¢ÉâÆ°¾®¿ôÅÀ¤Ë´Ø¤¹¤ë¿äÏÀ¤â¹Ô¤¤¤ä¤¹¤¯¤Ê¤ê¤Þ¤¹¡£ÉâÆ°¾®¿ôÅÀ¤Ë´Ø¤¹¤ë¾ÚÌÀ¤Ï¡¢¤µ¤Þ¤¶¤Þ¤Ê±é»»½èÍý¤¬¸¶°ø¤Çµ¯¤­¤ë³Æ¼ï¤ÎÌäÂê¤ËÂн褹¤ëɬÍפ¬¤Ê¤¤¾ì¹ç¤Ç¤µ¤¨¡¢Æñ¤·¤¤¤â¤Î¤Ç¤¹¡£À°¿ô¥×¥í¥°¥é¥à¤¬Àµ¤·¤¤¤³¤È¤ò¾ÚÌÀ¤Ç¤­¤ë¤Î¤ÈƱ¤¸¤è¤¦¤Ë¡¢ÉâÆ°¾®¿ôÅÀ¥×¥í¥°¥é¥à¤Î¾ì¹ç¤â¡¢¾ÚÌÀ¤¹¤ëÆâÍƤ¬·×»»·ë²Ì¤Î´Ý¤á¸íº¹¤Ë¤è¤Ã¤ÆÆÃÄê¤Î¾ò·ï¤¬Ëþ¤¿¤µ¤ì¤ë¤È¤¤¤¦¤â¤Î¤Ç¤¢¤Ã¤Æ¤â¡¢¾ÚÌÀ¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ÄêÍý 4 ¤Ï¡¢¤³¤Î¤è¤¦¤Ê¾ÚÌÀ¤ÎÎã¤ò¼¨¤·¤¿¤â¤Î¤Ç¤¹¡£¤³¤¦¤·¤¿¾ÚÌÀ¤Ï¡¢¿äÏÀ¤¹¤ëÁàºî¤ÎÆâÍƤ¬Àµ³Î¤Ë»ØÄê¤Ç¤­¤ì¤Ð¡¢¤Ï¤ë¤«¤ËÍưפˤʤê¤Þ¤¹¡£¤¤¤Ã¤¿¤ó¡¢¤¢¤ë¥¢¥ë¥´¥ê¥º¥à¤¬ IEEE ±é»»¤ËŬ¹ç¤·¤Æ¤¤¤ë¤³¤È¤¬¤ï¤«¤ì¤Ð¡¢IEEE ɸ½à¤ò¥µ¥Ý¡¼¥È¤¹¤ë¥Þ¥·¥ó¤Ç¤¢¤ë¸Â¤ê¡¢¤¤¤º¤ì¤Ç¤¢¤Ã¤Æ¤âÀµ¤·¤¯Æ°ºî¤·¤Þ¤¹¡£

Brown (1981) ¤Ï¡¢°ìÈÌŪ¤ÊÉâÆ°¾®¿ôÅÀ¥Ï¡¼¥É¥¦¥§¥¢¤Ë¸«¤é¤ì¤ë¸¶Íý¤òȯɽ¤·¤Þ¤·¤¿¡£¤¿¤À¤·¡¢¤³¤Î¥·¥¹¥Æ¥à¤Ç¤Î¾ÚÌÀ¤¬É¬¤º¤·¤â¡¢¡ÖÁ껦¡×¤ä ¡ÖÀµ³Î¤Ê´Ý¤áÁàºî¡×¤Ë¼¨¤¹¥¢¥ë¥´¥ê¥º¥à¤ÎÂÅÅöÀ­¤ò΢ÉÕ¤±¤ë¤³¤È¤Ë¤Ï¤Ê¤ê¤Þ¤»¤ó¡£¤³¤ì¤é¤Î¥¢¥ë¥´¥ê¥º¥à¤ÎÆÃÀ­¤¬¤¹¤Ù¤Æ¤Î¥Ï¡¼¥É¥¦¥§¥¢¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¤È¤Ï¸Â¤é¤Ê¤¤¤«¤é¤Ç¤¹¡£¤µ¤é¤Ë¡¢Brown ¤Î¸¶Íý¤Ï¡¢Ã±¤ËÀµ³Î¤Ê·×»»¤È´Ý¤áÁàºî¤Ë´Ø¤¹¤ëñ½ã¤ÊÄêµÁ¤è¤ê¤â¡¢°ìÃʤÈÊ£»¨¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢Brown ¤Î¸¶Íý¤ò¤â¤È¤ËÄêÍý¤òƳ¤¯¤Î¤Ï¡¢Áàºî¤¬Ã±¤ËÀµ³Î¤Ê´Ý¤á¤Ç¤¢¤ë¤³¤È¤òÁ°Äó¤È¤·¤Æ¾ÚÌÀ¤¹¤ë¾ì¹ç¤è¤ê¤âÆñ¤·¤¯¤Ê¤ê¤Þ¤¹¡£

ÉâÆ°¾®¿ôÅÀɸ½à¤Ë¤è¤Ã¤ÆÂбþ¤¹¤ëÁàºî¤ÎÆâÍƤˤĤ¤¤Æ¤Ï¡¢Á´ÌÌŪ¤ÊƱ°Õ¤¬³ÎΩ¤µ¤ì¤Æ¤¤¤ë¤ï¤±¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£+¡¢-¡¢×¡¢/ ¤Î»Í§±é»»°Ê³°¤Ë¡¢IEEE ɸ½à¤Ç¤ÏÊ¿Êýº¬¡¢¾ê;¡¢À°¿ô/ÉâÆ°¾®¿ôÅÀ¤ÎÊÑ´¹¤Î³ÆÁàºî¤òÀµ³Î¤Ë´Ý¤á¤ë¤è¤¦¤Ëµ¬Äꤵ¤ì¤Æ¤¤¤Þ¤¹¡£¤Þ¤¿¡¢ÆâÉô¥Õ¥©¡¼¥Þ¥Ã¥È¤È10 ¿Ê¿ô¤ÎÊÑ´¹¤âÀµ³Î¤Ë´Ý¤á¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó (¤¿¤À¤·¡¢¤­¤ï¤á¤ÆÂ礭¤¤¿ô¤Î¾ì¹ç¤Ï½ü¤­¤Þ¤¹)¡£Kulisch ¤È Miranker (1986) ¤Ï¡¢Àµ³Î¤Ë»ØÄꤵ¤ì¤¿Áàºî¤Î¥ê¥¹¥È¤ËÆâÀѤòÄɲ乤뤳¤È¤òÄó°Æ¤·¤Þ¤·¤¿¡£IEEE ±é»»¤Ë¤â¤È¤Å¤¤¤ÆÆâÀѤò·×»»¤¹¤ë¤È¡¢ºÇ½ªÅª¤Ê²ò¤¬Â礭¤¯°Û¤Ê¤ë¤³¤È¤¬¤¢¤ë¤È»ØŦ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£

Î㤨¤Ð¡¢Ï¤ÏÆâÀѤÎÆüì¤Ê¥±¡¼¥¹¤Ê¤Î¤Ç¡¢ ((2 × 10-30 + 1030) - 1030 ) -10-30 ¤ÎϤÏ
10-30¤ÈƱ¤¸¤Ë¤Ê¤ê¤Þ¤¹¡£¤¿¤À¤· IEEE Âбþ¤Î¥Þ¥·¥ó¤Ç¤Ï¡¢·×»»·ë²Ì¤¬ -10-30 ¤È¤Ê¤ê¤Þ¤¹¡£¹â®¤Î¾è»»´ï¤ò¼Â¸½¤¹¤ë¤è¤ê¾¯¤Ê¤¤¥Ï¡¼¥É¥¦¥§¥¢¥³¥¹¥È¤Ç¡¢¸íº¹¤ò 1 ulp °ÊÆâ¤ËÍÞ¤¨¤ÆÆâÀѤò·×»»¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹ (Kirchner/Kulish¡¢1987)¡£14 15

ɸ½à¤È¤·¤Æµ¬Äꤵ¤ì¤ëÁàºî¤Ï¤¹¤Ù¤Æ¡¢10 ¿Ê¿ô¤È 2 ¿Ê¿ô¤ÎÊÑ´¹½èÍý¤Î¾ì¹ç¤ò½ü¤­¡¢Àµ³Î¤Ë´Ý¤á¤ò¹Ô¤¦É¬Íפ¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤Ï¡¢ÊÑ´¹½èÍý¤ò½ü¤­¡¢¤¹¤Ù¤Æ¤ÎÁàºî¤Ë¤Ä¤¤¤ÆÀµ³Î¤Ë´Ý¤á¤é¤ì¤ë¸úΨŪ¤Ê¥¢¥ë¥´¥ê¥º¥à¤¬¼Â¾Ú¤µ¤ì¤Æ¤¤¤ë¤«¤é¤Ç¤¹¡£¤Ê¤ªÊÑ´¹½èÍý¤Î¾ì¹ç¤Ï¡¢ºÇ¤â¸ú²ÌŪ¤Ç¤¢¤ë¤È¤µ¤ì¤ë¥¢¥ë¥´¥ê¥º¥à¤Ç¤â¡¢Àµ³Î¤Ê´Ý¤á¤Ë¤è¤ë·×»»¤ËÈæ¤Ù¡¢Â¿¾¯ÀºÅÙ¤¬Íî¤Á¤Þ¤¹ (Coonen¡¢1984) ¡£

IEEE ɸ½à¤Ç¤Ï¡¢¡Ö¥Æ¡¼¥Ö¥ë¡¦¥á¡¼¥«¤Î¥¸¥ì¥ó¥Þ¡×¤¬¤¢¤ë¤¿¤á¤Ë¡¢Ä¶±Û´Ø¿ô¤Ïɬ¤º¤·¤âÀµ³Î¤Ë´Ý¤á¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£¤³¤ì¤òÀâÌÀ¤¹¤ë¤¿¤á¤Ë¡¢4 ¤Ä¤Î¾®¿ôÅÀ¤Î°ÌÃ֤ǻؿô´Ø¿ô¤Î¥Æ¡¼¥Ö¥ë¤òºîÀ®¤¹¤ë¾ì¹ç¤ò¹Í¤¨¤Æ¤ß¤Þ¤¹¡£exp (1.626) = 5.0835 ¤È¤·¤Þ¤¹¡£¤³¤ì¤ò´Ý¤á¤ë¤È¡¢5.083¡¢¤Þ¤¿¤Ï 5.084 ¤Î¤¤¤º¤ì¤Ë¤Ê¤ë¤Î¤Ç¤·¤ç¤¦¡£exp (1.626) ¤ò¿µ½Å¤Ë·×»»¤¹¤ë¤È¡¢5.08350 ¤È¤Ê¤ê¤Þ¤¹¡£¤µ¤é¤Ë 5.083500¡¢¼¡¤Ë 5.0835000 ¤Ë¤Ê¤ê¤Þ¤¹¡£exp ¤¬Ä¶±Û´Ø¿ô¤Ç¤¢¤ë¾ì¹ç¡¢exp (1.626) ¤¬ 5.083500 ...0ddd¡¢¤Þ¤¿¤Ï 5.0834999 ...9ddd ¤Î¤¤¤º¤ì¤Ç¤¢¤ë¤«¤òȽÃǤǤ­¤ë¤Þ¤Ç¤ËÁêÅö»þ´Ö¤¬¤«¤«¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢Ä¶±Û´Ø¿ô¤Ë¤Ä¤¤¤Æ¡¢Ìµ¸ÂÂç¤ÎÀºÅ٤Ƿ׻»¤·¤¿¸å¡¢¤½¤Î·ë²Ì¤ò´Ý¤á¤¿¾ì¹ç¤ÈƱ¤¸¤è¤¦¤ÊÀºÅÙ¤òµá¤á¤ë¤Î¤Ï¸½¼ÂŪ¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£Ê̤Υ¢¥×¥í¡¼¥Á¤È¤·¤Æ¡¢Ä¶±Û´Ø¿ô¤ò¥¢¥ë¥´¥ê¥º¥àŪ¤Ë»ØÄꤹ¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£¤¿¤À¤·¡¢¤¹¤Ù¤Æ¤Î¥Ï¡¼¥É¥¦¥§¥¢¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤ËŬÍѤǤ­¤ë 1 ¤Ä¤Î¥¢¥ë¥´¥ê¥º¥à¤¬Â¸ºß¤¹¤ë¤ï¤±¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£ºÇ¶á¤Î¥Þ¥·¥ó¤ÇĶ±Û´Ø¿ô¤ò·×»»¤¹¤ë¾ì¹ç¤Ë¡¢Í­Íý¶á»÷ÃÍ¡¢CORDIC16¡¢¤ª¤è¤ÓÂç·¿¥Æ¡¼¥Ö¥ë¤È¤¤¤¦ 3 ¤Ä¤Î¼êË¡¤ò»ÈÍѤǤ­¤Þ¤¹¡£¤¤¤º¤ì¤Î¼êË¡¤â¤½¤ì¤¾¤ìÆȼ«¤Î¥¯¥é¥¹¤Î¥Ï¡¼¥É¥¦¥§¥¢¤ËŬÍѤµ¤ì¤ë¤â¤Î¤Ç¡¢¸½ºß¤Î¤È¤³¤í¡¢³Æ¼ï¤Î¥Ï¡¼¥É¥¦¥§¥¢¤ËÉý¹­¤¯Âбþ¤Ç¤­¤ëñ°ì¤Î¥¢¥ë¥´¥ê¥º¥à¤Ï¤¢¤ê¤Þ¤»¤ó¡£

Æüì¤Ê¿ô

ÉâÆ°¾®¿ôÅÀ¥Ï¡¼¥É¥¦¥§¥¢¤Ë¤è¤Ã¤Æ¤Ï¡¢³Æ¥Ó¥Ã¥È¥Ñ¥¿¡¼¥ó¤¬Í­¸ú¤ÊÉâÆ°¾®¿ôÅÀ¿ô¤òɽ¤ï¤¹¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£IBM System/370 ¤Ï¡¢¤½¤Î°ìÎã¤Ç¤¹¡£°ìÊý¡¢VAXTM ¤Ç¤Ï¡¢¡ÖͽÌ󥪥ڥé¥ó¥É¡×¤È¤¤¤¦Æüì¤Ê¿ô¤òɽ¤ï¤¹ÆÃÄê¤Î¥Ó¥Ã¥È¥Ñ¥¿¡¼¥ó¤¬³ÎÊݤµ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤Î¹Í¤¨Êý¤Ï CDC 6600 ¤ËͳÍ褹¤ë¤â¤Î¤Ç¡¢INDEFINITE ¤È INFINITY ¤È¤¤¤¦Æüì¤Ê¿ô¤Î¥Ó¥Ã¥È¥Ñ¥¿¡¼¥ó¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£

IEEE ɸ½à¤Ë¤Ï¡¢¤³¤ÎÅÁÅý¤ò·Ñ¾µ¤·¤Æ¡¢NaN (Not a Number ) ¤È̵¸ÂÂç¤È¤¤¤¦³µÇ°¤¬¤¢¤ê¤Þ¤¹¡£Æüì¤Ê¿ô¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¤È¡¢Éé¿ô¤ÎÊ¿Êýº¬¤Ê¤É¤ÎÎã³°¾õ¶·¤¬µ¯¤­¤¿¾ì¹ç¡¢·×»»¤ò¥¢¥Ü¡¼¥È¤¹¤ë°Ê³°¤ËÂн褹¤ëÊýË¡¤¬¤¢¤ê¤Þ¤»¤ó¡£IBM System/370 FORTRAN ¤Ç¤Ï¡¢-4 ¤Î¤è¤¦¤ÊÉé¿ô¤ÎÊ¿Êýº¬¤Î·×»»¤Ë½Ð²ñ¤¦¤È¡¢¥Ç¥Õ¥©¥ë¥È¤ÎÆ°ºî¤È¤·¤Æ¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤Þ¤¹¡£³Æ¥Ó¥Ã¥È¥Ñ¥¿¡¼¥ó¤Ï¡¢Í­¸ú¤Ê¿ô¤òɽ¤ï¤¹¤Î¤Ç¡¢Ê¿Êýº¬¤ÎÌá¤êÃͤÏÉâÆ°¾®¿ôÅÀ¿ô¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£System/370 FORTRAN ¤Î¾ì¹ç ¤¬Ìᤵ¤ì¤Þ¤¹¡£°ìÊý¡¢IEEE ±é»»¤Î¾ì¹ç¤Ï¡¢NaN ¤¬Ìᤵ¤ì¤Þ¤¹¡£

IEEE ɸ½à¤Ë¤è¤ê¡¢¼¡¤ÎÆüì¤ÊÃͤ¬»ØÄꤵ¤ì¤Þ¤¹ (ɽ D-2 ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤)¡£¡Þ0¡¢ÈóÀµµ¬²½¿ô¡¢¡Þ ¡¢¤ª¤è¤Ó NaN (¼¡¤Î¹à¤ÇÀâÌÀ¤¹¤ë¤È¤ª¤ê¡¢NaN ¤¬Â¸ºß¤·¤Þ¤¹) ¤Ç¤¹¡£¤³¤ì¤é¤ÎÆüì¤ÊÃͤϡ¢emax + 1 ¤Þ¤¿¤Ï emin - 1 ¤Î»Ø¿ô¤Ë¤è¤Ã¤Æ¤¹¤Ù¤Æ¥¨¥ó¥³¡¼¥É¤µ¤ì¤Þ¤¹ (¤Ê¤ª¡¢0 ¤Ë¤Ï emin - 1 ¤Î»Ø¿ô¤¬¤¢¤ë¤³¤È¤Ï¤¹¤Ç¤Ë»ØŦ¤·¤¿¤È¤ª¤ê¤Ç¤¹)¡£

ɽ D-2   IEEE 754 ¤ÎÆüì¤ÊÃÍ  
»Ø¿ô ´Ø¿ô ɽ¼¨
e = emin - 1 f = 0 ¡Þ0
e = emin - 1 f ¡â 0
emin ¡å e ¡åemax -- 1.f × 2e
e = emax + 1 f = 0
e = emax + 1 f ¡â 0 NaN


NaNs

¤³¤ì¤Þ¤Ç¡¢0/0 ¤ä ¤Ê¤É¤Î·×»»¤Ï¡¢¤½¤Î»þÅÀ¤Ç·×»»¤ÎÄä»ß¤Î¸¶°ø¤È¤Ê¤ë²óÉüÉÔǽ¤Ê¥¨¥é¡¼¤È¤·¤Æ°·¤ï¤ì¤Æ¤­¤Þ¤·¤¿¡£¤¿¤À¤·¡¢¤³¤¦¤·¤¿¾õ¶·¤Ç¤â·×»»¤ò¤½¤Î¤Þ¤Þ³¹Ô¤¹¤ë¤³¤È¤Ë°ÕÌ£¤¬¤¢¤ë¥±¡¼¥¹¤â¹Í¤¨¤é¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¤¢¤ë´Ø¿ô f ¤Î¥¼¥í¤òµá¤á¤ë¥µ¥Ö¥ë¡¼¥Á¥ó¡¢zero(f)¤ÎÎã¤ò¹Í¤¨¤Æ¤ß¤Þ¤¹¡£½¾Íè¡¢¥¼¥í¸¡½Ð¥µ¥Ö¥ë¡¼¥Á¥ó¤¬¸¡º÷¤ò¹Ô¤¦´ü´Ö¤È¤·¤Æ¡¢´Ø¿ô¤¬ÄêµÁ¤µ¤ì¤¿´Ö³Ö [a,b] ¤ò¥æ¡¼¥¶¡¼¤¬»ØÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¤Ç¤·¤¿¡£¤³¤Î¥µ¥Ö¥ë¡¼¥Á¥ó¤Î¤³¤È¤ò zero(f,a,b) ¤È¸À¤¤¤Þ¤¹¡£¤µ¤é¤ËÊØÍø¤Ê¥¼¥í¸¡½Ð¥µ¥Ö¥ë¡¼¥Á¥ó¤Ç¤Ï¡¢¤³¤ÎÄɲþðÊó¤òÆþÎϤ¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£¤³¤ÎÈÆÍÑŪ¤Ê¥¼¥í¸¡½Ð¥µ¥Ö¥ë¡¼¥Á¥ó¤Ï¡¢Ã±¤Ë´Ø¿ô¤ÎÆþÎϤÀ¤±¤¬Í׵ᤵ¤ì¡¢Îΰè¤Î»ØÄê¤Ê¤É¤Ï̵°ÕÌ£¤È¤Ê¤ë¤è¤¦¤ÊÅÅÂî¤Ê¤É¤ËŬÍѤǤ­¤Þ¤¹¡£¤·¤«¤·¡¢¼ÂºÝ¤Ë¤Ï¤Û¤È¤ó¤É¤Î¥¼¥í¸¡½Ð¥µ¥Ö¥ë¡¼¥Á¥ó¤ÇÎΰè¤Î»ØÄ꤬ɬÍפˤʤê¤Þ¤¹¡£¤½¤ÎÍýͳ¤Ï´Êñ¤Ç¤¹¡£¥¼¥í¸¡½Ð¥µ¥Ö¥ë¡¼¥Á¥ó¤Ï¤¤¤¯¤Ä¤«¤ÎÃͤǴؿô f ¤òÄ´¤Ù¤ë¤³¤È¤Ë¤è¤ê½èÍý¤ò¹Ô¤¤¤Þ¤¹¡£f ¤ÎÎΰè¤òĶ¤¨¤¿Ãͤ¬¤¢¤ë¤È¡¢f ¤ËÂФ¹¤ë¥³¡¼¥É¤¬ 0/0 ¤Þ¤¿¤Ï ¤Ë¤Ê¤ê¡¢·×»»¤¬Ää»ß¤·¤Æ¡¢¥¼¥í¸¡½Ð¥×¥í¥»¥¹¤ò¥¢¥Ü¡¼¥È¤·¤Æ¤·¤Þ¤¦¤³¤È¤¬¤¢¤ë¤«¤é¤Ç¤¹¡£

¤³¤ÎÌäÂê¤Ï¡¢NaN ¤È¤¤¤¦Æüì¤ÊÃͤòƳÆþ¤·¡¢0/0 ¤ä ¤Î¼°¤Î·×»»¤Ç¤Ï¡¢½èÍý¤¬Ää»ß¤¹¤ëÂå¤ï¤ê¤Ë NaN ¤òÀ¸À®¤¹¤ë¤è¤¦¤Ë»ØÄꤹ¤ì¤Ð¡¢²ò·è¤·¤Þ¤¹¡£É½ D-3 ¤Ë¤Ï¡¢NaN ¤Î¸¶°ø¤È¤Ê¤ë¾õ¶·¤ò¤¤¤¯¤Ä¤«¼¨¤·¤Æ¤¢¤ê¤Þ¤¹¡£zero(f) ¤Ç f ¤ÎÎΰè¤òĶ¤¨¤¿Ãͤ¬¤¢¤ë¤È¡¢f ¤Î¥³¡¼¥É¤Ë¤è¤ê NaN ¤¬ÊÖ¤µ¤ì¡¢¥¼¥í¸¡½Ð¥µ¥Ö¥ë¡¼¥Á¥ó¤Î½èÍý¤¬Â³¹Ô¤·¤Þ¤¹¡£¤¹¤Ê¤ï¤Á¡¢zero(f)¤Ï¸í¤Ã¤¿¿ä¬¤ò¤·¤¿¤³¤È¤Ë¤Ä¤¤¤Æ¡Ö¤È¤¬¤á¤é¤ì¤ë¡×¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤³¤ÎÎã¤ò¤â¤È¤Ë¡¢NaN ¤ÈÄ̾ï¤ÎÉâÆ°¾®¿ôÅÀ¿ô¤òÁȤ߹ç¤ï¤»¤¿¾ì¹ç¤Î·ë²Ì¤ò´Êñ¤Ë³Îǧ¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£f ¤ÎºÇ¸å¤Îʸ¤Ï return (-b + sqrt(d))/(2*a) ¤È¤Ê¤ê¤Þ¤¹¡£d < 0 ¤Î¾ì¹ç¡¢f ¤Ï NaN ¤òÊÖ¤·¤Þ¤¹¡£d < 0 ¤Ê¤Î¤Ç¡¢NaN ¤ÈÊ̤οô¤ÎϤ¬ NaN ¤Î¾ì¹ç¤Ï¡¢sqrt(d) ¤Ï NaN¡¢-b + sqrt(d) ¤â NaN ¤Ë¤Ê¤ê¤Þ¤¹¡£Æ±Íͤˡ¢½ü»»¤Î¤¤¤º¤ì¤«¤Î¥ª¥Ú¥é¥ó¥É¤¬ NaN ¤Î¾ì¹ç¡¢¾¦¤â NaN ¤Ë¤Ê¤ê¤Þ¤¹¡£°ìÈ̤ˡ¢ÉâÆ°¾®¿ôÅÀ·×»»¤Ç NaN ¤¬Í׵ᤵ¤ì¤¿¾ì¹ç¤Ï¡¢·ë²Ì¤â NaN ¤Ë¤Ê¤ê¤Þ¤¹¡£

ɽ D-3   NaN ¤¬À¸À®¤µ¤ì¤ëÁàºî
Áàºî NaN ¤¬À¸À®¤µ¤ì¤ë¸¶°ø
+ + (- )
x 0 x
/ 0/0, /
REM x REM 0, REM y
(x < 0 ¤Î¤È¤­)


¥æ¡¼¥¶¡¼¤¬Îΰè¤òÆþÎϤ¹¤ëɬÍפΤʤ¤¥¼¥í¡¦¥½¥ë¥Ð¤òºîÀ®¤¹¤ëÊ̤Υ¢¥×¥í¡¼¥Á¤È¤·¤Æ¡¢¥·¥°¥Ê¥ë¤ò»ÈÍѤ¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£¥¼¥í¸¡½Ð¥µ¥Ö¥ë¡¼¥Á¥ó¤Ï¡¢ÉâÆ°¾®¿ôÅÀÎã³°¤ËÂФ¹¤ë¥·¥°¥Ê¥ë¥Ï¥ó¥É¥é¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£f ¤¬Îΰ賰¤Èɾ²Á¤µ¤ì¡¢Îã³°¤¬È¯À¸¤¹¤ë¤È¡¢À©¸æ¤Ï¥¼¥í¡¦¥½¥ë¥Ð¤ËÅϤµ¤ì¤Þ¤¹¡£¤³¤Î¥¢¥×¥í¡¼¥Á¤ÎÌäÂêÅÀ¤Ï¡¢³Æ¸À¸ì¤´¤È¤Ë¥·¥°¥Ê¥ë¤ò½èÍý¤¹¤ëÊýË¡¤¬°Û¤Ê¤ë (¤½¤ÎÊýË¡¤¬¤Ê¤¤¾ì¹ç¤â¤¢¤ê¤Þ¤¹) ¤Î¤Ç¡¢°Ü¿¢À­¤¬¤Þ¤Ã¤¿¤¯¤Ê¤¤¤È¤¤¤¦ÅÀ¤Ç¤¹¡£

IEEE 754 ¤Ç¤Ï¡¢NaN ¤Ï»Ø¿ô emax + 1 ¤È¥¼¥í°Ê³°¤ÎÍ­°Õ·å¤òȼ¤¦ÉâÆ°¾®¿ôÅÀ¿ô¤È¤·¤Æɽ¤ï¤¹¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£¼ÂÁõ¤´¤È¤Ë¡¢¥·¥¹¥Æ¥à°Í¸¤Î¾ðÊó¤òÍ­°Õ·å¤ËÆþ¤ì¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢°ì°Õ¤Î NaN ¤¬Â¸ºß¤¹¤ë¤ï¤±¤Ç¤Ï¤Ê¤¯¡¢°ìÏ¢¤Î NaN ¤ÇÁ´ÂΤ¬¹½À®¤µ¤ì¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£NaN ¤ÈÄ̾ï¤ÎÉâÆ°¾®¿ôÅÀ¿ô¤òÁȤ߹ç¤ï¤»¤ë¤È¡¢·ë²Ì¤Ï NaN ¥ª¥Ú¥é¥ó¥É¤ÈƱ¤¸¤Ë¤Ê¤ê¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢Ä¹¤¤·×»»¤Î·ë²Ì¤¬ NaN ¤Î¾ì¹ç¡¢Í­°Õ·å¤Ë¤¢¤ë¥·¥¹¥Æ¥à°Í¸¤Î¾ðÊó¤Ï¡¢ºÇ½é¤Î NaN ¤¬À¸À®¤µ¤ì¤¿»þÅÀ¤ÇÀ¸À®¤µ¤ì¤ë¾ðÊó¤È¤Ê¤ê¤Þ¤¹¡£¼ÂºÝ¤Ë¡¢ºÇ¸å¤Îʸ¤Ë¤ÏÃí°Õ¤¬É¬ÍפǤ¹¡£Î¾Êý¤Î¥ª¥Ú¥é¥ó¥É¤¬ NaN ¤Î¾ì¹ç¡¢·ë²Ì¤Ï¤¤¤º¤ì¤«°ìÊý¤Î NaN ¤Ë¤Ê¤ë¤Î¤Ç¡¢É¬¤º¤·¤âºÇ½é¤ËÀ¸À®¤µ¤ì¤¿ NaN ¤Ç¤¢¤ë¤È¤Ï¸Â¤ê¤Þ¤»¤ó¡£

̵¸ÂÂç

NaN ¤ò»ÈÍѤ·¤Æ¡¢0/0 ¤ä ¤Î¤è¤¦¤Ê¼°¤¬¸¡½Ð¤µ¤ì¤¿¤È¤­¤Ë·×»»¤ò³¹Ô¤µ¤»¤ë¾ì¹ç¤ÈƱ¤¸¤è¤¦¤Ë¡¢Ìµ¸ÂÂç¤Ë¤è¤Ã¤Æ¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤¬µ¯¤­¤¿¤È¤­¤Ë½èÍý¤ò³¤±¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤³¤ì¤Ïñ¤ËºÇÂçµöÍÆ¿ô¤òÌ᤹¤è¤ê¤â¡¢¤Ï¤ë¤«¤Ë°ÂÁ´¤ÊÊýË¡¤Ç¤¹¡£
Î㤨¤Ð¡¢¦Â= 10¡¢ p = 3¡¢emax = 98 ¤Î¤È¤­¤Î ¤ò¹Í¤¨¤Æ¤ß¤Þ¤¹¡£x = 3 × 1070¡¢y = 4 × 1070 ¤Î¾ì¹ç¡¢x2 ¤Ï¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤·¡¢9.99 × 1098 ¤ËÃÖ¤­´¹¤¨¤é¤ì¤Þ¤¹¡£Æ±¤¸¤è¤¦¤Ë¡¢y2¡¢¤ª¤è¤Ó x2 + y2 ¤Ï¤½¤ì¤¾¤ì½ç¤Ë¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤·¤Æ¡¢9.99 × 1098 ¤ËÃÖ¤­´¹¤¨¤é¤ì¤Þ¤¹¡£ºÇ½ªÅª¤Ë¤Ï¡¢ ¤È¤Ê¤ê¡¢Àµ²ò¤Î 5 × 1070 ¤È¤Ï¤Û¤É±ó¤¤·ë²Ì¤È¤Ê¤ê¤Þ¤¹¡£IEEE ±é»»¤Î¾ì¹ç¡¢x2 ¤Î·ë²Ì¤Ï¡¢y2 ¡¢x2 + y2 ¡¢ ¤ÈƱ¤¸¤è¤¦¤Ë¡¢ ¤È¤Ê¤ê¤Þ¤¹¡£ºÇ½ªÅª¤Ê·ë²Ì¤Ï ¤È¤Ê¤ê¡¢¤³¤ì¤ÏÀµ¤·¤¤²ò¤«¤éÂ礭¤¯¤Ï¤º¤ì¤¿Ä̾ï¤ÎÉâÆ°¾®¿ôÅÀ¿ô¤òÌ᤹¤è¤ê¡¢¤Ï¤ë¤«¤Ë°ÂÁ´¤Ç¤¢¤ë¤È¸À¤¨¤Þ¤¹17¡£

0 ¤ò 0 ¤Ç½ü»»¤·¤Æ¤â¡¢NaN ¤Ë¤Ê¤ê¤Þ¤¹¡£¥¼¥í°Ê³°¤Î¿ô¤ò 0 ¤Ç³ä¤ë¤È¡¢ ¤¬ÊÖ¤µ¤ì¤Þ¤¹ (1/0 = ¡¢-1/0 = - )¡£¤³¤ì¤ò¶èÊ̤¹¤ëÍýͳ¤Ï¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£x ¤¬¤¢¤ë¸Â³¦¤ËÀ᤹ܶ¤ë¤Ë½¾¤¤¡¢f(x) ¢ª 0¡¢g(x) ¢ª 0 ¤Ë¤Ê¤ë¾ì¹ç¡¢f(x)/g(x) ¤ÎÃͤÏǤ°Õ¤Ë¤Ê¤ê¤Þ¤¹¡£Î㤨¤Ð¡¢f(x) = sin x¡¢g(x) = x ¤Î¾ì¹ç¡¢x ¢ª 0 ¤À¤È f(x)/g(x) ¢ª 1 ¤Ç¤¹¤¬¡¢f(x) = 1- cos x ¤Î¾ì¹ç¡¢f(x)/g(x) ¢ª 0 ¤Ë¤Ê¤ê¤Þ¤¹¡£0/0 ¤ò¡¢2 ¤Ä¤Î¾®¤µ¤¤ÃͤòÀ©¸Â¤¹¤ë¾ò·ï¤È¤·¤Æª¤¨¤ë¤È¡¢0/0 ¤ÏǤ°Õ¤Ë¤Ê¤ê¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢IEEE ɸ½à¤Ç¡¢0/0 ¤Ï NaN ¤Ë¤Ê¤ê¤Þ¤¹¡£¤¿¤À¤·¡¢c > 0 ¤Î¾ì¹ç¡¢f(x) ¢ª c¡¢g(x) ¢ª 0 ¤Ç¤¢¤ì¤Ð¡¢¤¢¤é¤æ¤ëʬÀÏ´Ø¿ô f ¤È g ¤Ë¤Ä¤¤¤Æ f(x)/g(x) ¢ª¡Þ ¤È¤Ê¤ê¤Þ¤¹¡£¾®¤µ¤¤ x ¤ËÂФ·¤Æ g(x) < 0 ¤Î¾ì¹ç¡¢f(x)/g(x) ¢ª- ¤È¤Ê¤ê¤Þ¤¹¡£¤³¤ì°Ê³°¤Î¾ì¹ç¤Ï¡¢¸Â³¦¤¬ + ¤Ë¤Ê¤ê¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢IEEE ɸ½à¤Ç¤Ï¡¢c ¡â 0¤Ç¤¢¤ë¸Â¤ê¡¢c/0 =¡Þ ¤¬ÄêµÁ¤µ¤ì¤Þ¤¹¡£ ¤ÎÉä¹æ¤Ï¡¢Ä̾ï¤Î c ¤È 0 ¤ÎÉä¹æ¤Ë°Í¸¤¹¤ë¤Î¤Ç¡¢-10/0 = - ¡¢¤Þ¤¿ -10/-0 = + ¤È¤Ê¤ê¤Þ¤¹¡£¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤¬¸¶°ø¤ÇÀ¸À®¤µ¤ì¤ë ¤È¡¢¥¼¥í¤Ë¤è¤ë½ü»»¤¬¸¶°ø¤Çµ¯¤­¤ë ¤È¤Î°ã¤¤¤Ï¡¢¥¹¥Æ¡¼¥¿¥¹¥Õ¥é¥°¤ò¥Á¥§¥Ã¥¯¤¹¤ì¤Ð¶èÊ̤Ǥ­¤Þ¤¹ (¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢¡Ö¥Õ¥é¥°¡×¤ÇÀâÌÀ¤·¤Æ¤¤¤Þ
¤¹ ) ¡£Á°¼Ô¤Î¾ì¹ç¤Ï¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¡¦¥Õ¥é¥°¤¬¡¢¤Þ¤¿¸å¼Ô¤Î¾ì¹ç¤Ï¥¼¥í¤Ë¤è¤ë½ü»»¤Î¥Õ¥é¥°¤¬¤½¤ì¤¾¤ì¥»¥Ã¥È¤µ¤ì¤Þ¤¹¡£

¥ª¥Ú¥é¥ó¥É¤È¤·¤Æ̵¸ÂÂç¤òÀ¸À®¤¹¤ëÁàºî¤Î·ë²Ì¤ò·èÄꤹ¤ë¥ë¡¼¥ë¤Ï´Êñ¤Ç¤¹¡£
̵¸ÂÂç¤òÍ­¸Â¿ô x ¤ËÃÖ¤­´¹¤¨¡¢¤½¤Î¸Â³¦¤ò x ¢ª ¤ËÀßÄꤷ¤Þ¤¹¡£
¤·¤¿¤¬¤Ã¤Æ¡¢ ¤Ê¤Î¤Ç¡¢3/ = 0 ¤Ë¤Ê¤ê¤Þ¤¹¡£

ƱÍͤˡ¢4 - = - ¡¢ = ¤Ë¤Ê¤ê¤Þ¤¹¡£¸Â³¦¤¬¤Ê¤¤¾ì¹ç¡¢·ë²Ì¤Ï NaN ¤Ë¤Ê¤ë¤Î¤Ç¡¢ / ¤â NaN ¤Ë¤Ê¤ê¤Þ¤¹ (ɽ D-3¤ËÄɲäÎÎã¤ò¼¨¤·¤Æ¤¤¤Þ¤¹)¡£¤³¤ì¤Ï¡¢0/0 ¤¬ NaN ¤Ë¤Ê¤ë¤È·ëÏÀ¤¹¤ë¾ì¹ç¤Î¿äÏÀ¤È°ìÃפ·¤Þ¤¹¡£

¤¢¤ëÉôʬ¼°¤¬ NaN ¤Èɾ²Á¤µ¤ì¤ë¤È¡¢¼°Á´ÂΤÎÃͤâ NaN ¤Ë¤Ê¤ê¤Þ¤¹¡£¤¿¤À¤·¡¢¡Þ ¤Î¾ì¹ç¡¢1/ = 0 ¤Î¤è¤¦¤Ê¥ë¡¼¥ë¤¬¤¢¤ë¤Î¤Ç¡¢¼°¤ÎÃͤÏÄ̾ï¤ÎÉâÆ°¾®¿ôÅÀ¿ô¤Ë¤Ê¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£¤³¤³¤Ç¤Ï¡¢Ìµ¸ÂÂç¤Î±é»»¤Ë¤Ä¤¤¤Æ¥ë¡¼¥ë¤òŬÍѤ¹¤ë¼ÂºÝ¤ÎÎã¤ò¼¨¤·¤Þ¤¹¡£
´Ø¿ô x/(x2 + 1) ¤ò·×»»¤¹¤ë¾ì¹ç¤ò¹Í¤¨¤Æ¤ß¤Þ¤¹¡£

¤³¤ì¤Ï¡¢x ¤¬ ¤è¤êÂ礭¤¯¤Ê¤ë¤È¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤¹¤ë¤Î¤Ç¡¢¤è¤¤¸ø¼°¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¤¬¡¢Ìµ¸ÂÂç¤Î·×»»¤Ë¤è¤ê¡¢1/x ¤Î¶á»÷ÃͤǤϤʤ¯ 0 ¤¬À¸À®¤µ¤ì¤ë¤Î¤Ç¡¢¸í¤Ã¤¿²ò¤¬ÆÀ¤é¤ì¤Þ¤¹¡£¤¿¤À¤· x/(x2 + 1) ¤Ï 1/(x + x-1) ¤È½ñ¤­´¹¤¨¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤³¤Î½ñ¤­´¹¤¨¤Ë¤è¤ê¡¢ÁᤤÃʳ¬¤Ç¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤¬µ¯¤­¤ë¤³¤È¤Ï¤Ê¤¯¤Ê¤ê¡¢Ìµ¸ÂÂç¤Î±é»»¤Ë¤è¤ê¡¢x = 0 : 1/(0 + 0-1) = 1/(0 + ) = 1/ = 0 ¤Î¤È¤­¤ËÀµ¤·¤¤Ãͤ¬ÆÀ¤é¤ì¤Þ¤¹¡£Ìµ¸ÂÂç¤Î±é»»¤¬¤Ê¤¤¤È¡¢1/(x + x-1) ¤Î¼°¤Ç¤Ï¡¢x = 0 ¤«¤É¤¦¤«¤ò¥Æ¥¹¥È¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢Í¾Ê¬¤ÊÌ¿Î᤬Äɲ䵤ì¤ë¤Û¤«¡¢¥Ñ¥¤¥×¥é¥¤¥ó¤¬Ç˲õ¤µ¤ì¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£¤³¤ÎÎã¤Ï¡¢Ìµ¸ÂÂç¤Î±é»»¤Ë¤è¤Ã¤Æ¡¢Æüì¤Ê¥±¡¼¥¹¤ò¥Á¥§¥Ã¥¯¤¹¤ëɬÍפ¬¤Ê¤¯¤Ê¤ë¤È¤¤¤¦°ìÈÌŪ¤Ê»öÎã¤ò¼¨¤·¤¿¤â¤Î¤Ç¤¹¡£¤¿¤À¤·¸ø¼°¤Ë¤Ä¤¤¤Æ¤Ï¡¢Ìµ¸ÂÂç»þ¤Ë¡¢µ¿»÷Ū¤ÊÆ°ºî (x/(x2 + 1) ¤Î¤è¤¦¤Ë) ¤ò¼¨¤¹¤³¤È¤¬¤Ê¤¤¤è¤¦¤Ë¡¢¿µ½Å¤ËÄ´¤Ù¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£

Éä¹æÉÕ¤­¥¼¥í

¥¼¥í¤Ï¡¢»Ø¿ô emin -1 ¤È¥¼¥í¤ÎÍ­°Õ·å¤Ë¤è¤Ã¤Æɽ¤ï¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£Éä¹æ¥Ó¥Ã¥È¤Ï 2 ¤Ä¤ÎÃͤò¼è¤ë¤³¤È¤¬¤Ç¤­¤ë¤Î¤Ç¡¢¥¼¥í¤Ë¤â +0¤È -0 ¤Î 2 ¼ïÎब¤¢¤ê¤Þ¤¹¡£+0 ¤È -0 ¤òÈæ³Ó¤¹¤ë¾ì¹ç¤Ë¡¢¶èÊ̤·¤Æ¤·¤Þ¤¦¤È¡¢if (x=0)¤Î¤è¤¦¤Ê´Êñ¤Ê¥Æ¥¹¥È¤Ç¤â¡¢x ¤ÎÉä¹æ¤Ë¤è¤Ã¤Æͽ¬¤Ç¤­¤Ê¤¤·ë²Ì¤Ë¤Ê¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢IEEE ɸ½à¤Ç¤Ï¡¢-0 < +0 ¤Ç¤Ï¤Ê¤¯¡¢-0 = +0 ¤È¤Ê¤ë¤è¤¦¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¥¼¥í¤ÎÉä¹æ¤ò¤Ä¤Í¤Ë̵»ë¤¹¤ë¤³¤È¤â²Äǽ¤Ç¤¹¤¬¡¢IEEE ɸ½à¤Ç¤Ï̵»ë¤µ¤ì¤Þ¤»¤ó¡£¾è»»¡¢¤Þ¤¿¤Ï½ü»»¤ÇÉä¹æÉÕ¤­¤Î¥¼¥í¤òȼ¤¦¾ì¹ç¡¢²ò¤ÎÉä¹æ¤ò·×»»¤¹¤ë¤È¤­¤Ë¤ÏÄ̾ï¤ÎÉä¹æ¤¬Å¬ÍѤµ¤ì¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢3·(+0) = +0¡¢¤ª¤è¤Ó +0/-3 = -0¤Ë¤Ê¤ê¤Þ¤¹¡£¤Þ¤¿¥¼¥í¤ËÉä¹æ¤¬¤Ê¤¤¾ì¹ç¤Ï¡¢x =¡Þ ¤Î¾ì¹ç¡¢1/(1/x) = x ¤ÏÀ®¤êΩ¤¿¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£¤½¤ÎÍýͳ¤Ï 1/- ¤È 1/+ ¤Ï¤¤¤º¤ì¤â 0¡¢1/0 ¤Ï + ¤È¤Ê¤ê¡¢Éä¹æ¾ðÊ󤬼º¤ï¤ì¤ë¤«¤é¤Ç¤¹¡£1/(1/x) = x ¤Î°ÕÌ£¤òÊÝ»ý¤¹¤ë¤Ë¤Ï¡¢°ìÊý¤Î̵¸ÂÂç¤À¤±¤ò»ÈÍѤ·¤Þ¤¹¡£¤¿¤À¤·¤³¤Î¾ì¹ç¤â¡¢¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤·¤¿¿ô¤ÎÉä¹æ¤¬¼º¤ï¤ì¤ë¤È¤¤¤¦·ë²Ì¤ÏÊѤï¤ê¤Þ¤»¤ó¡£

Éä¹æÉÕ¤­¥¼¥í¤ò»ÈÍѤ¹¤ë¤â¤¦ 1 ¤Ä¤ÎÎã¤Ï¡¢¥¢¥ó¥À¡¼¥Õ¥í¡¼¤È¡¢log ¤Î¤è¤¦¤Ê 0 ¤ÇÉÔϢ³¤È¤Ê¤ë´Ø¿ô¤Ë´Ø¤¹¤ë¤â¤Î¤Ç¤¹¡£IEEE ±é»»¤Ç¤Ï¡¢x < 0 ¤Î¤È¤­¤Ë¡¢log 0 = - ¡¢log x ¤ò NaN ¤ÈÄêµÁ¤¹¤ë¤Î¤¬ÅöÁ³¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£¥¼¥í¤Ë¥¢¥ó¥À¡¼¥Õ¥í¡¼¤·¤¿¾®¤µ¤¤Éé¿ô¤òɽ¤ï¤¹ x ¤ÎÎã¤ò¹Í¤¨¤Æ¤ß¤Þ¤¹¡£Éä¹æÉÕ¤­¤Î¥¼¥í¤Î¤¿¤á¤Ë¡¢x ¤ÏÉé¿ô¤Ë¤Ê¤ë¤Î¤Ç¡¢log ¤Ï NaN ¤òÌ᤹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤¿¤À¤·¡¢Éä¹æ¤Ê¤·¤Î¥¼¥í¤Î¾ì¹ç¡¢log ´Ø¿ô¤Ï¥¢¥ó¥À¡¼¥Õ¥í¡¼¤·¤¿Éé¿ô¤È 0 ¤È¤ò¶èÊ̤Ǥ­¤Ê¤¯¤Ê¤ë¤Î¤Ç¡¢- ¤òÊÖ¤·¤Þ¤¹¡£¥¼¥í¤ÇÉÔϢ³¤Ë¤Ê¤ë¤â¤¦ 1 ¤Ä¤Î´Ø¿ô¤ÎÎã¤È¤·¤Æ¡¢¿ôÃͤÎÉä¹æ¤òÊÖ¤¹ signum ´Ø¿ô¤¬¤¢¤ê¤Þ¤¹¡£

Éä¹æÉÕ¤­¥¼¥í¤ÎºÇ¤â¶½Ì£¤Î¤¢¤ëÎã¤Ï¡¢Ê£ÁÇ¿ô±é»»¤Ç¤¹¡£

ñ½ã¤ÊÎã¤È¤·¤Æ¡¢ ¤È¤¤¤¦ÊýÄø¼°¤ò¹Í¤¨¤Æ¤ß¤Þ¤¹¡£¤³¤ì¤Ï¡¢z ³ 0¤Î¾ì¹ç¤Ë¿¿¤Ë¤Ê¤ê¤Þ¤¹¡£

z = -1 ¤Î¾ì¹ç¤Ï¡¢ ¡¢¤ª¤è¤Ó ¤È¤Ê¤ê¤Þ¤¹¡£

¤·¤¿¤¬¤Ã¤Æ¡¢ ¤È¤Ê¤ê¤Þ¤¹¡£¤³¤ÎÌäÂê¤Ï¡¢Ê¿Êýº¬¤¬Ê£¿ô¤ÎÃͤȤʤꡢʣÁÇ¿ôÊ¿ÌÌÁ´ÂΤËϢ³¤¹¤ëÃͤòÁªÂò¤Ç¤­¤Ê¤¤¤È¤¤¤¦»ö¼Â¤ËͳÍ褹¤ë¤â¤Î¤Ç¤¹¡£¤¿¤À¤·¡¢¤¹¤Ù¤ÆÉé¤Î¼Â¿ô¤Ç¹½À®¤µ¤ì¤ë¥Ö¥é¥ó¥Á¥«¥Ã¥È¤ò¹Íθ¤ÎÂоݤ«¤é³°¤»¤Ð¡¢Ê¿Êýº¬¤ÏϢ³¤Ë¤Ê¤ê¤Þ¤¹¡£¤³¤ì¤Ç¤â¡¢-x + i0 (¤¿¤À¤· x > 0) ¤Î·Á¼°¤ÎÉé¤Î¼Â¿ô¤Ë¤Ä¤¤¤Æ¡¢¤É¤¦°·¤¦¤«¤È¤¤¤¦ÌäÂê¤Ï»Ä¤ê¤Þ¤¹¡£Éä¹æÉÕ¤­¥¼¥í¤Ë¤è¤ê¡¢¤³¤ÎÌäÂê¤ò´°Á´¤Ê·Á¤Ç²ò·è¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
x + i(+0) ¤Î·Á¼°¤Î¿ô¤ÏÉä¹æ¤È ¡¢¤Þ¤¿¥Ö¥é¥ó¥Á¥«¥Ã¥È¤Î¤â¤¦°ìÊý¤Ë¤¢¤ë x + i(-0) ¤Î·Á¼°¤Î¿ô¤Ï¡¢µÕ¤ÎÉä¹æ¤È ¤Ë¤Ê¤ê¤Þ¤¹¡£¼ÂºÝ¤Ë¡¢ ¤ò·×»»¤¹¤ë¸ø¼°¤Ë¤è¤ê¡¢¼¡¤Î·ë²Ì¤¬ÆÀ¤é¤ì¤Þ¤¹¡£

¤È¤Ê¤ë¤Î¤Ç¡¢z = -1 + i0 ¤Ç¤¢¤ì¤Ð¡¢
1/z = 1/(-1 + i0) = [(-1 - i0)] / [(-1 + i0)(-1 - i0)] = (-1 - i0)/((-1)2 - 02 ) = -1 + i(-0)
¤È¤Ê¤ê¡¢
¡¢°ìÊý ¤È¤Ê¤ê¤Þ¤¹¡£
¤·¤¿¤¬¤Ã¤Æ¡¢IEEE ±é»»¤Ç¤Ï¡¢¤¹¤Ù¤Æ¤Î z ¤Î°ÕÌ£¤¬ÊÝ»ý¤µ¤ì¤Þ¤¹¡£¤µ¤é¤Ë¹âÅÙ¤ÊÎ㤬 Kahan ¤Ë¤è¤Ã¤Æ¾Ò²ð¤µ¤ì¤Æ¤¤¤Þ¤¹ (1987)¡£+0 ¤È -0 ¤ò¶èÊ̤¹¤ë¤³¤È¤ËÍøÅÀ¤Ï¤¢¤ê¤Þ¤¹¤¬¡¢¤ï¤«¤ê¤Ë¤¯¤¯¤Ê¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£Î㤨¤Ð¡¢Éä¹æÉÕ¤­¥¼¥í¤Ë¤è¤ê¡¢x = +0¡¢¤ª¤è¤Ó y = -0 ¤Î¤È¤­¤Ëµ¶¤È¤Ê¤ë x = y ¢Î 1/x = 1/y ¤Î´Ø·¸¤¬²õ¤ì¤Þ¤¹¡£¤¿¤À¤·¡¢IEEE °Ñ°÷²ñ¤Ç¤Ï¡¢Éä¹æÉÕ¤­¥¼¥í¤ò»ÈÍѤ·¤¿¾ì¹ç¤ÎÍøÅÀ¤ÎÊý¤¬·çÅÀ¤ò¾å²ó¤Ã¤Æ¤¤¤ë¤ÈȽÃǤ·¤Æ¤¤¤Þ¤¹¡£

ÈóÀµµ¬²½¿ô

¦Â= 10¡¢ p = 3¡¢emin = -98 ¤ÇÀµµ¬²½¤µ¤ì¤¿ÉâÆ°¾®¿ôÅÀ¿ô¤ÎÎã¤ò¹Í¤¨¤Æ¤ß¤Þ¤¹¡£
x = 6.87 × 10-97 ¤È y = 6.81 × 10-97 ¤Ï¡¢ºÇ¾®¤ÎÉâÆ°¾®¿ôÅÀ¿ô 1.00 × 10-98 ¤Î 10 ÇܰʾåÂ礭¤¤¤Î¤Ç¡¢Ä̾ï¤ÎÉâÆ°¾®¿ôÅÀ¿ô¤Î¤è¤¦¤Ë»×¤ï¤ì¤Þ¤¹¡£¤·¤«¤·¡¢¤³¤ì¤é¤ÎÉâÆ°¾®¿ôÅÀ¿ô¤Ë¤Ï¡¢x ¡â y! ¤Ç¤¢¤Ã¤Æ¤â¡¢x y = 0 ¤Ë¤Ê¤ë¤È¤¤¤¦ÊѤï¤Ã¤¿ÆÃÀ­¤¬¤¢¤ê¤Þ¤¹¡£
¤³¤ì¤Ï¡¢x - y = 0.06 × 10-97 = 6.0 × 10-99 ¤¬¡¢Àµµ¬²½¿ô¤È¤·¤Æ¤Ï¾®¤µ¤¹¤®¤Æɽ¸½¤Ç¤­¤Ê¤¤¤¿¤á¡¢¥¼¥í¤Ë¥Õ¥é¥Ã¥·¥å¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤È¤¤¤¦Íýͳ¤Ë¤è¤ë¤â¤Î¤Ç¤¹¡£¤³¤ÎÆÃÀ­¤òÊÝ»ý¤¹¤ë¤³¤È¤Ï¡¢¤É¤ÎÄøÅÙ½ÅÍפʤΤǤ·¤ç¤¦¡£

x = y ¢Î x - y = 0 ? (10)

if (x ¡â y) then z = 1/(x-y)¤È¤¤¤¦¥³¡¼¥É¡¦¥Õ¥é¥°¥á¥ó¥È¤òµ­½Ò¤·¡¢¸å¤Ç¡¢¸«¤«¤±¾å¤Î¥¼¥í½ü»»¤Ë¤è¤Ã¤Æ¥×¥í¥°¥é¥à¤ò¥¢¥Ü¡¼¥È¤µ¤»¤ë¤³¤È¤â´Êñ¤Ë¤Ç¤­¤Þ¤¹¡£¤·¤«¤·¡¢¤³¤Î¤è¤¦¤Ê¥Ð¥°¸¡½Ð¤ÎÊýË¡¤Ï¡¢¿´ÍýŪ¤Ë¤â»þ´ÖŪ¤Ë¤âÂ礭¤ÊÉéô¤Ë¤Ê¤ê¤Þ¤¹¡£¤µ¤é¤Ë¹âÅÙ¤ÊÊýË¡¤È¤·¤Æ¡¢¥³¥ó¥Ô¥å¡¼¥¿¥µ¥¤¥¨¥ó¥¹¤Î»²¹Í½ñ¤Ë¤Ï¡¢¸½ºß¤Î¤È¤³¤íÂ絬ÌÏ¤Ê¥×¥í¥°¥é¥à¤ÎÂÅÅöÀ­¤ò¸¡¾Ú¤¹¤ë¤Î¤Ï¸½¼ÂŪ¤Ç¤Ï¤Ê¤¤¤â¤Î¤Î¡¢¤³¤ì¤ò¼Â¾Ú¤¹¤ë¤³¤È¤òǰƬ¤Ë¥×¥í¥°¥é¥à¤òÀ߷פ¹¤ë¤È¡¢¸úΨŪ¤Ê¥³¡¼¥É¤¬¤Ç¤­¤¢¤¬¤ë¤È»ØŦ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£Î㤨¤Ð¡¢ÉÔÊѼ°¤ò¼è¤êÆþ¤ì¤ë¤Î¤Ï¡¢²¾¤Ë¤³¤ì¤¬¾ÚÌÀ¤Î°ìÉô¤È¤·¤Æ¤ÏÍøÍѤǤ­¤Ê¤¤¾ì¹ç¤Ç¤â¡¢¸ú²ÌŪ¤Ê¼êÃʤǤ¹¡£ÉâÆ°¾®¿ôÅÀ¥³¡¼¥É¤Ë¤è¤Ã¤Æ¡¢Ä̾ï¤Î¥³¡¼¥É¤Î¾ì¹ç¤ÈƱ¤¸¤è¤¦¤Ë¡¢¿®Íê¤Ç¤­¤ë¾ÚÌÀ²Äǽ¤Ê»ö¼Â¤¬ÆÀ¤é¤ì¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
Î㤨¤Ð¡¢¸ø¼° (6) ¤òʬÀϤ¹¤ë¾ì¹ç¡¢x/2 < y < 2x x y = x - y ¤È¤¤¤¦»ö¼Â¤¬¤ï¤«¤ì¤ÐÈó¾ï¤ËÌòΩ¤Á¤Þ¤¹¡£Æ±¤¸¤è¤¦¤Ë¡¢¸ø¼° (10) ¤¬¿¿¤Ç¤¢¤ë¤³¤È¤¬¤ï¤«¤ì¤Ð¡¢¿®Íê¤Ç¤­¤ëÉâÆ°¾®¿ôÅÀ¥³¡¼¥É¤âµ­½Ò¤·¤ä¤¹¤¯¤Ê¤ê¤Þ¤¹¡£ÂçÉôʬ¤Î¿ô¤Ë¤¢¤Æ¤Ï¤Þ¤ë¤«¤é¤È¤¤¤¦Á°Äó¤Ï¡¢²¿¤â¾ÚÌÀ¤¹¤ë¤³¤È¤Ë¤Ï¤Ê¤ê¤Þ¤»¤ó¡£

IEEE ɸ½à¤Ç¤Ï¡¢ÈóÀµµ¬²½18¿ô¤ò»ÈÍѤ·¤Æ¸ø¼° (10) ¡¢¤ª¤è¤Ó¤½¤Î¾¤Î´Ø·¸¤ò¾ÚÌÀ¤·¤Þ¤¹¡£ÈóÀµµ¬²½¿ô¤Ï¤è¤¯µÄÏÀ¤ÎÂоݤȤʤëÉôʬ¤Ç¤¢¤ê¡¢754 ¤Çǧ²Ä¤µ¤ì¤ë¤Þ¤Ç¤ËŤ¤´ü´Ö¤¬¤«¤«¤Ã¤¿¤Î¤Ï¡¢¤ª¤½¤é¤¯¤³¤ÎÍýͳ¤Ë¤è¤ë¤â¤Î¤È»×¤ï¤ì¤Þ¤¹¡£¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤Î¹â¤¤¥Ï¡¼¥É¥¦¥§¥¢¤Ï¤Û¤È¤ó¤É¤Î¾ì¹ç¡¢IEEE ¸ß´¹¤Ç¤¢¤ë¤³¤È¤¬¤¹¤Ê¤ï¤Á¡¢ÈóÀµµ¬²½¿ô¤òľÀÜ¥µ¥Ý¡¼¥È¤¹¤ë¤³¤È¤È¤Ï¸Â¤ê¤Þ¤»¤ó¡£ÈóÀµµ¬²½¿ô¤ò»ÈÍÑ¡¢¤¢¤ë¤¤¤ÏÀ¸À®¤¹¤ë»þÅÀ¤Ç¥Ï¡¼¥É¥¦¥§¥¢¤¬¥È¥é¥Ã¥×¤µ¤ì¡¢¥½¥Õ¥È¥¦¥§¥¢¤Ë IEEE ɸ½à¤Î¥·¥ß¥å¥ì¡¼¥·¥ç¥ó¤ò°ìǤ¤¹¤ë·Á¼°¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹19¡£ÈóÀµµ¬²½¿ô¤ÎÇطʤˤ¢¤ë¹Í¤¨¤Ï¡¢Goldberg (1967) ¤¬Äó°Æ¤·¤¿¤â¤Î¤Ç¡¢¤­¤ï¤á¤Æñ½ã¤Ç¤¹¡£»Ø¿ô¤Î emin ¤Î¾ì¹ç¡¢Í­°Õ·å¤ÏÀµµ¬²½¤¹¤ëɬÍפ¬¤Ê¤¤¤Î¤Ç¡¢¦Â= 10¡¢ p = 3¡¢emin = -98 ¤Ç¤¢¤ì¤Ð¡¢0.98 × 10-98 ¤âÉâÆ°¾®¿ôÅÀ¿ô¤Ë¤Ê¤ë¤Î¤Ç¡¢1.00 × 10-98 ¤ÏºÇ¾®¤ÎÉâÆ°¾®¿ôÅÀ¿ô¤Ç¤Ï¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£

¦Â= 2 ¤Î¾ì¹ç¤Ë±£¤ì¥Ó¥Ã¥È¤ò»ÈÍѤ¹¤ë¤È¡¢emin ¤Î»Ø¿ô¤òȼ¤¦¿ô¤Ï¡¢°ÅÌÛ¤ËÀè¹Ô¤¹¤ë¥Ó¥Ã¥È¤¬¤¢¤ë¤¿¤á¤Ëɬ¤ºÍ­°Õ·å¤¬ 1.0 °Ê¾å¤Ë¤Ê¤ë¤Î¤Ç¡¢Â¿¾¯¤Î»Ù¾ã¤¬½Ð¤Æ¤­¤Þ¤¹¡£¤³¤Î²ò·èÊýË¡¤Ï¡¢0 ¤òɽ¤ï¤¹¾ì¹ç¤Î¤½¤ì¤ÈƱ¤¸¤Ç¡¢É½ D-2 ¤Ë¤Þ¤È¤á¤Æ¤¢¤ê¤Þ¤¹¡£emin »Ø¿ô¤ò»ÈÍѤ·¤Æ¡¢ÈóÀµµ¬²½¿ô¤òɽ¤ï¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤¹¤Ê¤ï¤ÁÍ­°Õ·å¥Õ¥£¡¼¥ë¥É¤Î¥Ó¥Ã¥È¤¬ b 1, b 2, ... b p -1¤Ç¡¢»Ø¿ô¤ÎÃͤ¬ e ¤Î¾ì¹ç¡¢É½¸½¤¹¤ë¿ô¤Ï 1.b 1b 2 ... bp -1 × 2e ¤È¤Ê¤ê¡¢e = emin -1 ¤Î¾ì¹ç¤Ï 0·b 1b 2 ... b p -1 × 2e+1 ¤È¤Ê¤ê¤Þ¤¹¡£ÈóÀµµ¬²½¿ô¤Ë¤Ï emin -1 ¤Ç¤Ï¤Ê¤¯¡¢emin ¤Î»Ø¿ô¤òȼ¤¦¤Î¤Ç¡¢»Ø¿ô¤Î +1 ¤Ïɬ¿Ü¤Ë¤Ê¤ê¤Þ¤¹¡£

Ëܹà¤ÎºÇ½é¤Ë¼¨¤·¤¿¦Â= 10¡¢ p =3¡¢emin = -98¡¢x = 6.87 × 10-97¡¢y = 6.81 × 10-97 ¤ÎÎã¤òºÆ¤Ó¼è¤ê¾å¤²¤Þ¤¹¡£ÈóÀµµ¬²½¿ô¤Î¾ì¹ç¡¢x - y ¤Ï¥¼¥í¤Ø¤Î¥Õ¥é¥Ã¥·¥å¤Ï¹Ô¤ï¤ì¤º¡¢Âå¤ï¤ê¤Ë 0·6 × 10-98 ¤È¤¤¤¦ÈóÀµµ¬²½¿ô¤Çɽ¤ï¤µ¤ì¤Þ¤¹¡£¤³¤ÎÆ°ºî¤Î¤³¤È¤òÃʳ¬Åª¤Ê¡Ö¥¢¥ó¥À¡¼¥Õ¥í¡¼¡×¤È¸À¤¤¤Þ¤¹¡£Ãʳ¬Åª¥¢¥ó¥À¡¼¥Õ¥í¡¼¤ò»ÈÍѤ¹¤ì¤Ð¡¢¸ø¼° (10) ¤¬¤Ä¤Í¤Ë¿¿¤Ë¤Ê¤ë¤³¤È¤ò´Êñ¤Ë¸¡¾Ú¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£

¡¡¡¡¡¡ ¡¡¡¡

¿Þ D-2 Ãʳ¬Åª¥¢¥ó¥À¡¼¥Õ¥í¡¼¤È¥¼¥í¥Õ¥é¥Ã¥·¥å¤ÎÈæ³Ó

¿Þ D-2 ¤Ë¡¢ÈóÀµµ¬²½¿ô¤ò¼¨¤·¤Þ¤¹¡£¾å¤Î¿ôÀþ¤Ï¡¢Àµµ¬²½¤·¤¿ÉâÆ°¾®¿ôÅÀ¿ô¤òɽ¤ï¤·¤Þ¤¹¡£0 ¤«¤éºÇ¾®¤ÎÀµµ¬²½¿ô 1.0 × ¤Þ¤Ç¤Ë³Êº¹¤¬¤¢¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£ÉâÆ°¾®¿ôÅÀ±é»»¤Î·ë²Ì¤¬¤³¤Îº¹¤ÎÈϰϤËÆþ¤ë¾ì¹ç¤Ï¡¢¥¼¥í¤Ø¤Î¥Õ¥é¥Ã¥·¥å¤¬¹Ô¤ï¤ì¤Þ¤¹¡£²¼¤Î¿ôÀþ¤Ï¡¢°ìÏ¢¤ÎÉâÆ°¾®¿ôÅÀ¿ô¤ËÈóÀµµ¬²½¿ô¤ò²Ã¤¨¤¿¤È¤­¤Ë¡¢¤É¤¦½èÍý¤µ¤ì¤ë¤«¤ò¼¨¤·¤¿¤â¤Î¤Ç¤¹¡£¤³¤Î³Êº¹¤¬Ëä¤á¤é¤ì¡¢·×»»·ë²Ì¤¬ 1.0 × ¤è¤ê¾¯¤Ê¤±¤ì¤Ð¡¢ºÇ¤â¶á¤¤ÈóÀµµ¬²½¿ô¤Çɽ¤ï¤µ¤ì¤Þ¤¹¡£¿ôÀþ¤ËÈóÀµµ¬²½¿ô¤ò²Ã»»¤¹¤ë¤È¡¢ÎÙÀܤ¹¤ëÉâÆ°¾®¿ôÅÀ¿ô¤É¤¦¤·¤Î´Ö³Ö¤¬µ¬Â§Åª¤Ë¼è¤é¤ì¤Þ¤¹¡£ÎÙÀܤ¹¤ë¿ô¤É¤¦¤·¤Î´Ö³Ö¤ÏƱ¤¸¾ì¹ç¤È¡¢¦Â¤Î·¸¿ô¤Ë¤è¤Ã¤Æ°Û¤Ê¤ë¾ì¹ç¤È¤¬¤¢¤ê¤Þ¤¹¡£ÈóÀµµ¬²½¿ô¤¬¤Ê¤±¤ì¤Ð¡¢¦Â-p+1 ¤«¤é ¤Þ¤Ç¤Î´Ö³Ö¤¬¡¢¦Â¤Î·¸¿ô¤Ë¤è¤ëµ¬Â§Åª¤ÊÊѲ½¤Ç¤Ï¤Ê¤¯¡¢¦Âp-1 ¤Î·¸¿ô¤Ë½¾¤Ã¤Æ¡¢µÞ·ã¤ËÊѲ½¤¹¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£¤³¤Î¤¿¤á¡¢¥¢¥ó¥À¡¼¥Õ¥í¡¼¤Î¸Â³¦¤Ë¶á¤¤Àµµ¬²½¿ô¤ËÂФ·¤ÆÂ礭¤ÊÁêÂÐ¸íº¹¤òȼ¤¦¥¢¥ë¥´¥ê¥º¥à¤Ï¤Û¤È¤ó¤É¤Î¾ì¹ç¡¢Ãʳ¬Åª¥¢¥ó¥À¡¼¥Õ¥í¡¼¤ò»ÈÍѤ¹¤ë¤È¡¢¤³¤ÎÈÏ°ÏÆâ¤ÇÀµ¤·¤¯Æ°ºî¤¹¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£

Ãʳ¬Åª¥¢¥ó¥À¡¼¥Õ¥í¡¼¤¬¤Ê¤±¤ì¤Ð¡¢x - y ¤Î¤è¤¦¤Êñ½ã¤Ê¼°¤Ç¤â¡¢¾å¤Î
x = 6.87 × 10-97¡¢¤ª¤è¤Ó y = 6.81 × 10-97 ¤ÎÎã¤Î¤è¤¦¤Ë¡¢Àµµ¬²½¤µ¤ì¤¿ÆþÎϤËÂФ·¤ÆÈó¾ï¤ËÂ礭¤ÊÁêÂÐ¸íº¹¤òȼ¤¦¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£Â礭¤ÊÁêÂÐ¸íº¹¤Ï¡¢¼¡¤ÎÎã (Demmel¡¢1984) ¤Ë¼¨¤¹¤è¤¦¤Ë¡¢Á껦¤¬¤Ê¤¤¾ì¹ç¤Ç¤âµ¯¤­¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£a + ib ¤È c + id ¤È¤¤¤¦ 2 ¤Ä¤ÎÊ£ÁÇ¿ô¤ò½ü»»¤¹¤ëÎã¤ò¹Í¤¨¤Æ¤ß¤Þ¤¹¡£¼¡¤Î¸ø¼°¤Ë¤Ï¡¢Ê¬Êì c + id ¤Î¤¤¤º¤ì¤«¤ÎÍ×ÁǤ¬ ¤è¤êÂ礭¤¤¤È¤­¤Ë¡¢ºÇ½ª·ë²Ì¤¬ÈÏ°ÏÆâ¤Ë¤¢¤Ã¤Æ¤â¡¢¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤¹¤ë¤È¤¤¤¦ÌäÂ꤬¤¢¤ê¤Þ¤¹¡£

× i

¤³¤Î¾¦¤ò·×»»¤¹¤ë¾ì¹ç¡¢¼¡¤Î Smith ¤Î¸ø¼°¤ò»ÈÍѤ¹¤ë¤È¡¢¤è¤ê¸ú²ÌŪ¤Ç¤¹¡£

(11)

Smith ¤Î¸ø¼°¤ò (2¡¦10-98 + i10-98 ) / (4¡¦10-98 + i(2¡¦10-98)) ¤ËŬÍѤ¹¤ë¤È¡¢Ãʳ¬Åª¥¢¥ó¥À¡¼¥Õ¥í¡¼¤Ë¤è¤Ã¤Æ 0.5 ¤È¤¤¤¦Àµ¤·¤¤²ò¤¬ÆÀ¤é¤ì¤Þ¤¹¡£¥¼¥í¡¦¥Õ¥é¥Ã¥·¥å¤Î¾ì¹ç¤Ï¡¢
0.4 ¤Ë¤Ê¤ê¡¢¸íº¹¤Ï 100 ulp ¤È¤Ê¤ê¤Þ¤¹¡£¤³¤ì¤Ï¡¢1.0 × ¤ò²¼¸Â¤È¤¹¤ë°ú¿ô¤Î¸íº¹ÈϰϤòÊݾڤ¹¤ëÈóÀµµ¬²½¿ô¤È¤·¤Æ¤Ïŵ·¿Åª¤ÊÃͤǤ¹¡£

Îã³°¡¢¥Õ¥é¥°¡¢¥È¥é¥Ã¥×¥Ï¥ó¥É¥é

IEEE ±é»»¤Ç¡¢¥¼¥í¤Ë¤è¤ë½ü»»¡¢¤¢¤ë¤¤¤Ï¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤È¤¤¤Ã¤¿Îã³°¤¬µ¯¤­¤ë¤È¡¢¥Ç¥Õ¥©¥ë¥È¤È¤·¤Æ·ë²Ì¤òÊó¹ð¤·¡¢½èÍý¤ò³¹Ô¤·¤Þ¤¹¡£°ìÈÌŪ¤Ê¥Ç¥Õ¥©¥ë¥È¤È¤·¤Æ¡¢0/0 ¤È ¤Ë¤Ï NaN¡¢¤Þ¤¿ 1/0 ¤È¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤Ë¤Ï ¤òÊÖ¤·¤Þ¤¹¡£Á°¤Î¹à¤Ç¤Ï¡¢Îã³°¤¬µ¯¤­¤¿¾ì¹ç¤Ç¤â¡¢°Ê¾å¤Î¥Ç¥Õ¥©¥ë¥ÈÃͤˤè¤Ã¤Æ½èÍý¤ò³¹Ô¤¹¤ëÊý¤¬Ë¾¤Þ¤·¤¤Îã¤ò¤¤¤¯¤Ä¤«¾Ò²ð¤·¤Þ¤·¤¿¡£¤¤¤º¤ì¤«¤ÎÎã³°¤¬µ¯¤­¤ë¤È¡¢¥¹¥Æ¡¼¥¿¥¹¥Õ¥é¥°¤â¥»¥Ã¥È¤µ¤ì¤Þ¤¹¡£IEEE ɸ½à¤Î»ÅÍͤǤϡ¢¥æ¡¼¥¶¡¼¤¬¥¹¥Æ¡¼¥¿¥¹¥Õ¥é¥°¤òÆɤ߼è¤ê/½ñ¤­¹þ¤ß¤Ç¤­¤ë¼êÃʤòÄ󶡤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¥Õ¥é¥°¤Ï¡¢¤¤¤Ã¤¿¤ó¥»¥Ã¥È¤µ¤ì¤ë¤È¡¢ÌÀ¼¨Åª¤Ë¥¯¥ê¥¢¡¼¤·¤Ê¤¤¸Â¤ê¡¢¤½¤Î¤Þ¤Þ¥»¥Ã¥È¾õÂ֤ˤʤë¤È¤¤¤¦°ÕÌ£¤Ç¡Ö¥¹¥Æ¥£¥Ã¥­¡×¤ÊÆÃÀ­¤¬¤¢¤ê¤Þ¤¹¡£ËÜÍè¤Î̵¸ÂÂç¤òɽ¤ï¤¹ 1/0 ¤È¡¢¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤È¤Î°ã¤¤¤ò¶èÊ̤¹¤ë¤Ë¤Ï¡¢¥Õ¥é¥°¤ò¥Æ¥¹¥È¤¹¤ë°Ê³°¤ËÊýË¡¤Ï¤¢¤ê¤Þ¤»¤ó¡£

Îã³°¤¬µ¯¤­¤¿¤È¤­¤Ë¡¢½èÍý¤ò³¹Ô¤¹¤ë¤³¤È¤¬ÂÅÅö¤Ç¤Ê¤¤¾ì¹ç¤â¤¢¤ê¤Þ¤¹¡£¡Ö̵¸ÂÂç¡×¤Ç¤Ï¡¢x/ (x2 +1) ¤ÎÎã¤ò¼¨¤·¤Þ¤·¤¿¡£

x > ¤Î¾ì¹ç¡¢Ê¬Êì¤Ï̵¸ÂÂç¤Ë¤Ê¤ë¤Î¤Ç¡¢ºÇ½ªÅª¤Ê²ò¤¬ 0 ¤È¤¤¤¦¡¢¤Þ¤Ã¤¿¤¯¸í¤Ã¤¿·ë²Ì¤Ë¤Ê¤ê¤Þ¤¹¡£¤³¤Î¸ø¼°¤Î¾ì¹ç¡¢1/ (x + x-1) ¤È½ñ¤­´¹¤¨¤ì¤ÐÌäÂê¤Ï²ò·è¤·¤Þ¤¹¤¬¡¢¼°¤Î½ñ¤­´¹¤¨¤Ë¤è¤Ã¤Æɬ¤º¤·¤âÌäÂ꤬²ò·è¤·¤Ê¤¤¾ì¹ç¤â¤¢¤ê¤Þ¤¹¡£IEEE ɸ½à¤Ç¤Ï¡¢¥È¥é¥Ã¥×¥Ï¥ó¥É¥é¤ò¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤­¤ë¤è¤¦¤Ê»ÅÍͤ¬¶¯¤¯¿ä¾©¤µ¤ì¤Æ¤¤¤Þ¤¹¡£Îã³°¤¬µ¯¤­¤ë¤È¡¢¥Õ¥é¥°¤ò¥»¥Ã¥È¤¹¤ëÂå¤ï¤ê¤Ë¥È¥é¥Ã¥×¥Ï¥ó¥É¥é¤¬¸Æ¤Ó½Ð¤µ¤ì¡¢¥È¥é¥Ã¥×¥Ï¥ó¥É¥é¤¬ÊÖ¤¹ÃͤòÁàºî¤Î·ë²Ì¤È¤·¤Æ»ÈÍѤ·¤Þ¤¹¡£¥¹¥Æ¡¼¥¿¥¹¥Õ¥é¥°¤ò¥¯¥ê¥¢¡¼¤Þ¤¿¤Ï¥»¥Ã¥È¤¹¤ë¤È¤¤¤¦È½ÃǤϡ¢¥È¥é¥Ã¥×¥Ï¥ó¥É¥é¤Ë°ìǤ¤µ¤ì¤Þ¤¹¡£¤³¤ì°Ê³°¤Î¾ì¹ç¡¢¥Õ¥é¥°¤ÎÃͤÏ̤ÄêµÁ¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£

IEEE ɸ½à¤Ç¤Ï¡¢Îã³°¤ò¤½¤Î¼ïÎà¤Ë¤è¤Ã¤Æ¡¢¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¡¢¥¢¥ó¥À¡¼¥Õ¥í¡¼¡¢¥¼¥í¤Ë¤è¤ë½ü»»¡¢Ìµ¸ú¤ÊÁàºî¡¢¤ª¤è¤ÓÉÔÀµ³Î¤ÊÁàºî¤È¤¤¤¦ 5 ¤Ä¤Î¥¯¥é¥¹¤ËʬÎष¤Æ¤¤¤Þ¤¹¡£Îã³°¤Î³Æ¥¯¥é¥¹¤´¤È¤Ë¡¢¸ÄÊ̤Υ¹¥Æ¡¼¥¿¥¹¥Õ¥é¥°¤¬ÍÑ°Õ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ºÇ½é¤Î 3 ¤Ä¤ÎÎã³°¤Î°ÕÌ£¤Ï¤½¤Î̾¤¬¼¨¤¹¤È¤ª¤ê¤Ç¤¹¡£Ìµ¸ú¤ÊÁàºî¤È¤Ï¡¢É½ D-3 ¤Ë¼¨¤¹¾õ¶·¤È¡¢NaN ¤òȼ¤¦¤¢¤é¤æ¤ëÈæ³ÓÁàºî¤Î¤³¤È¤Ç¤¹¡£Ìµ¸úÁàºîÎã³°¤Î¸¶°ø¤È¤Ê¤ëÁàºî¤Ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤È¤·¤Æ NaN ¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£¤¿¤À¤·µÕ¤Ï¿¿¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤¢¤ëÁàºî¤ËÂФ¹¤ë¥ª¥Ú¥é¥ó¥É¤Î¤¤¤º¤ì¤«¤¬ NaN ¤Î¾ì¹ç¡¢·ë²Ì¤â NaN ¤Ë¤Ê¤ê¤Þ¤¹¤¬¡¢Áàºî¤ÎÆâÍƤ¬ ɽ D-3 ¤Ë¼¨¤¹¾ò·ï¤Î¤¤¤º¤ì¤«¤Ë°ìÃפ·¤Ê¤¤¸Â¤ê¡¢Ìµ¸úÁàºî¤ÎÎã³°¤Ïµ¯¤­¤Þ¤»¤ó20¡£

ɽ D-4   IEEE 754¤ÎÎã³°1
Îã³° ¥È¥é¥Ã¥×¤¬Ìµ¸ú¤Ê¾ì¹ç¤Î·ë²Ì ¥È¥é¥Ã¥×¥Ï¥ó¥É¥é¤Î°ú¿ô
¥ª¡¼¥Ð¡¼¥Õ¥í¡¼ ¡Þ ¤Þ¤¿¤Ï¡Þxmax round(x2-a)
¥¢¥ó¥À¡¼¥Õ¥í¡¼ 0¡¢ ¤Þ¤¿¤Ï denormal round(x2a)
¥¼¥í¤Ë¤è¤ë½ü»» ¥ª¥Ú¥é¥ó¥É
̵¸ú¤ÊÁàºî NaN ¥ª¥Ú¥é¥ó¥É
ÉÔÀµ³Î¤ÊÁàºî round(x) round(x)
1 x ¤ÏÁàºî¤ÎÀµ³Î¤Ê·ë²Ì¡¢Ã±ÀºÅÙ¤Ï a =192¡¢ÇÜÀºÅÙ¤Ï a =1536¡¢xmax = 1.11 ...11 × ¤È¤Ê¤ê¤Þ¤¹¡£


¦Â= 10¡¢ p = 3 ¤Î¥·¥¹¥Æ¥à¤Ç¡¢3.5 4.2 = 14.7 ¤ÏÀµ³Î¤Ç¤¹¤¬¡¢3.5 4.3 = 15.0 ¤ÏÀµ³Î¤Ç¤Ï¤Ê¤¤¤Î¤Ç (Àµ¤·¤¯¤Ï 3.5¡¦4.3 = 15.05)¡¢ÉÔÀµ³ÎÁàºî¤ÎÎã³°¤¬µ¯¤­¤Þ¤¹¡£¡Ö2 ¿Ê¿ô¤«¤é 10 ¿Ê¿ô¤Ø¤ÎÊÑ´¹¡×¤Ç¤Ï¡¢ÉÔÀµ³ÎÁàºî¤ÎÎã³°¤ò»ÈÍѤ·¤¿¥¢¥ë¥´¥ê¥º¥à¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Æ¤¤¤Þ¤¹¡£¤Þ¤¿É½ D-4 ¤Ë¡¢5 ¼ïÎà¤ÎÎã³°¤ÎÆ°ºî¤ò¤Þ¤È¤á¤Æ¤¢¤ê¤Þ¤¹¡£

ÉÔÀµ³Î¤ÊÁàºî¤ÎÎã³°¤¬ÉÑÈˤ˵¯¤­¤ë¾ì¹ç¤Ï¡¢¼ÂÁõ¾å¤ÎÌäÂ꤬¤¢¤ë¤â¤Î¤È»×¤ï¤ì¤Þ¤¹¡£ÉâÆ°¾®¿ôÅÀ¥Ï¡¼¥É¥¦¥§¥¢¤ËÆȼ«¤Î¥Õ¥é¥°¤¬ÍÑ°Õ¤µ¤ì¤Æ¤ª¤é¤º¡¢Âå¤ï¤ê¤Ë¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Ë³ä¤ê¹þ¤ó¤ÇÉâÆ°¾®¿ôÅÀÎã³°¤òÊó¹ð¤¹¤ë·Á¼°¤Î¾ì¹ç¤Ï¡¢ÉÔÀµ³Î¤ÊÁàºî¤ÎÎã³°¤¬µ¯¤­¤¿¤È¤­¤Î¥³¥¹¥È¤Ï¤­¤ï¤á¤Æ¹â¤¯¤Ê¤ê¤Þ¤¹¡£¤³¤ÎÌäÂê¤Ï¡¢¥½¥Õ¥È¥¦¥§¥¢¤¬ÊÝ»ý¤¹¤ë¥¹¥Æ¡¼¥¿¥¹¥Õ¥é¥°¤ò»ÈÍѤ¹¤ì¤Ð¡¢²ò·è¤·¤Þ¤¹¡£Îã³°¤¬½é¤á¤Æµ¯¤­¤¿»þÅÀ¤Ç¡¢³ºÅö¤¹¤ë¥¯¥é¥¹¤Î¥½¥Õ¥È¥¦¥§¥¢¥Õ¥é¥°¤ò¥»¥Ã¥È¤·¡¢ÉâÆ°¾®¿ôÅÀ¥Ï¡¼¥É¥¦¥§¥¢¤Ë¡¢Âбþ¤¹¤ëÎã³°¥¯¥é¥¹¤ò¥Þ¥¹¥¯¤¹¤ë¤è¤¦¤Ë»Ø¼¨¤·¤Þ¤¹¡£¤³¤ì°Ê¹ß¤ÎÎã³°¤Ï¤¹¤Ù¤Æ¡¢¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Ø¤Î²ðÆþ¤òȼ¤ï¤º¤Ë¡¢½èÍý¤µ¤ì¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£¥æ¡¼¥¶¡¼¤¬¥¹¥Æ¡¼¥¿¥¹¥Õ¥é¥°¤ò¥ê¥»¥Ã¥È¤¹¤ë¤È¡¢¥Ï¡¼¥É¥¦¥§¥¢¥Þ¥¹¥¯¤¬ºÆÅÙ¥¤¥Í¡¼¥Ö¥ë¤Ë¤Ê¤ê¤Þ¤¹¡£

¥È¥é¥Ã¥×¥Ï¥ó¥É¥é

¥È¥é¥Ã¥×¥Ï¥ó¥É¥é¤ò»ÈÍѤ¹¤ë°ÕÌ£¤Ï¡¢¤Þ¤º²¼°Ì¤Î¸ß´¹À­¤òÊÝ»ý¤¹¤ë¤³¤È¤Ë¤¢¤ê¤Þ¤¹¡£Îã³°¤¬µ¯¤­¤¿»þÅÀ¤Ç¥¢¥Ü¡¼¥È¤È¤Ê¤ëµì¥Ð¡¼¥¸¥ç¥ó¤Î¥³¡¼¥É¤Ç¤Ï¡¢¥×¥í¥»¥¹¤òÂǤÁÀڤ뤿¤á¤Î¥È¥é¥Ã¥×¥Ï¥ó¥É¥é¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
¤³¤ì¤ÏÆäˡ¢do S until (x ³ 100)¤Î¤è¤¦¤Ê¥ë¡¼¥×¤ò»ÈÍѤ¹¤ë¥³¡¼¥É¤ËÍ­¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£NaN ¤Ï¡¢<¡¢¡å¡¢>¡¢ ¡æ ¡¢= (¡â ¤Ï¤Ê¤·) ¤ò»ÈÍѤ·¤¿¿ô¤ËÈæ³Ó¤µ¤ì¤ë¤Èɬ¤ºµ¶¤òÊÖ¤¹¤Î¤Ç¡¢x ¤¬ NaN ¤Ë¤Ê¤ë¤È¡¢¤³¤Î¥³¡¼¥É¤Ï̵¸Â¥ë¡¼¥×¤ËÆþ¤ê¤Þ¤¹¡£

¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤¹¤ë²ÄǽÀ­¤Î¤¢¤ë ¤Î¤è¤¦¤ÊÀѤò·×»»¤¹¤ë¤È¤­¤Ë»ÈÍѤµ¤ì¤ë¥È¥é¥Ã¥×¥Ï¥ó¥É¥é¤ò¤µ¤é¤ËÊ̤ÎÍÑÅӤȤ·¤ÆÍøÍѤ¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£Âпô¤ò»ÈÍѤ·¤Æ¡¢exp ¤ò·×»»¤¹¤ëÊýË¡¤Ç¤¹¡£¤³¤Î¥¢¥×¥í¡¼¥Á¤ÎÌäÂê¤Ï¡¢ÀºÅ٤˷礱¤ë¤³¤È¤Ë²Ã¤¨¡¢¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤¬µ¯¤­¤Ê¤¤¾ì¹ç¤Ç¤âñ½ã¤Ê ¼°¤è¤ê¤â¥³¥¹¥È¤¬Â礭¤¯¤Ê¤ëÅÀ¤Ë¤¢¤ê¤Þ¤¹¡£¤Þ¤¿¤³¤ì¤é¤ÎÌäÂê¤òÈò¤±¤ë¤¿¤á¤Î¥ª¡¼¥Ð¡¼¥Õ¥í¡¼/¥¢¥ó¥À¡¼¥Õ¥í¡¼¡¦¥«¥¦¥ó¥Æ¥£¥ó¥°¤È¤¤¤¦¥È¥é¥Ã¥×¥Ï¥ó¥É¥é¤ò»ÈÍѤ¹¤ëÊýË¡¤â¤¢¤ê¤Þ¤¹ (Sterbenz¡¢1974)¡£

¤³¤Î¹Í¤¨Êý¤Ï¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£¤Þ¤º¥¼¥í¤Ë½é´ü²½¤µ¤ì¤ëÈÆÍÑ¥«¥¦¥ó¥¿¤¬¤¢¤ê¤Þ¤¹¡£ ¤¬ÆÃÄê¤Î k ¤ËÂФ·¤Æ¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤¹¤ë¤Èɬ¤º¡¢¥È¥é¥Ã¥×¥Ï¥ó¥É¥é¤¬¥«¥¦¥ó¥¿¤ÎÃͤò 1 ¤À¤±Áý¤ä¤·¡¢»Ø¿ô¤ò¥é¥Ã¥×¤·¤Æ¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤ÎÃͤòÊÖ¤·¤Þ¤¹¡£IEEE 754 ¤ÎñÀºÅ٤Ǥϡ¢emax = 127 ¤È¤Ê¤ë¤Î¤Ç¡¢pk = 1.45 × 2130 ¤Ç¤¢¤ì¤Ð¡¢¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤òµ¯¤³¤·¡¢¥È¥é¥Ã¥×¥Ï¥ó¥É¥é¤¬¸Æ¤Ó½Ð¤µ¤ì¤Þ¤¹¡£¥È¥é¥Ã¥×¥Ï¥ó¥É¥é¤Ï»Ø¿ô¤ò¤â¤È¤ÎÈϰϤ˥é¥Ã¥×¤·¡¢pk ¤ò 1.45 × 2-62 (²¼µ­»²¾È) ¤ËÊѹ¹¤·¤Þ¤¹¡£Æ±Íͤˡ¢pk ¤¬¥¢¥ó¥À¡¼¥Õ¥í¡¼¤¹¤ë¤È¡¢¥«¥¦¥ó¥¿¤ÎÃͤ¬¸º¤ê¡¢Éé¤Î»Ø¿ô¤¬Àµ¤Î»Ø¿ô¤Ë¥é¥Ã¥×¤µ¤ì¤Þ¤¹¡£¾è»»¤¬¤¹¤Ù¤Æ½ª¤ï¤Ã¤¿»þÅÀ¤Ç¥«¥¦¥ó¥¿¤¬¥¼¥í¤Î¾ì¹ç¡¢ºÇ½ªÅª¤ÊÀÑ¤Ï pn ¤Ë¤Ê¤ê¤Þ¤¹¡£¥«¥¦¥ó¥¿¤¬Àµ¤Ç¤¢¤ì¤ÐÀѤϥª¡¼¥Ð¡¼¥Õ¥í¡¼¤·¡¢Éé¤Ç¤¢¤ì¤Ð¥¢¥ó¥À¡¼¥Õ¥í¡¼¤·¤Þ¤¹¡£ÉôʬÀѤ¬¤¤¤º¤ì¤âÈϰϤòĶ¤¨¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¥È¥é¥Ã¥×¥Ï¥ó¥É¥é¤Ï¸Æ¤Ó½Ð¤µ¤ì¤º¡¢·×»»¤Ë¤è¤ê;ʬ¤Ê¥³¥¹¥È¤¬È¯À¸¤¹¤ë¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó¡£¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤Þ¤¿¤Ï¥¢¥ó¥À¡¼¥Õ¥í¡¼¤¬µ¯¤­¤¿¾ì¹ç¤Ç¤â¡¢pk ¤Ï¤½¤ì¤¾¤ì¡¢Á´ÌÌŪ¤ÊÀºÅ٤ξ軻¤ò»ÈÍѤ·¤Æ Pk - 1 ¤«¤é·×»»¤µ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢Âпô¤Ç·×»»¤·¤¿¾ì¹ç¤è¤ê¤â¤Ï¤ë¤«¤ËÀµ³Î¤Ç¤¹¡£Barnett (1987) ¤Ï¡¢¥ª¡¼¥Ð¡¼¥Õ¥í¡¼/¥¢¥ó¥À¡¼¥Õ¥í¡¼¡¦¥«¥¦¥ó¥È¤ÎÁ´ÌÌÀºÅ٤ˤè¤Ã¤Æ¡¢Á°½Ð¤Îɽ¤Ç³ºÅö¤¹¤ë¸íº¹¤ò¸¡½Ð¤Ç¤­¤ë¸ø¼°¤ò¾Ò²ð¤·¤Þ¤·¤¿¡£

IEEE 754 ¤Î»ÅÍͤǤϡ¢¥ª¡¼¥Ð¡¼¥Õ¥í¡¼/¥¢¥ó¥À¡¼¥Õ¥í¡¼¡¦¥È¥é¥Ã¥×¥Ï¥ó¥É¥é¤¬¸Æ¤Ó½Ð¤µ¤ì¤¿»þÅÀ¤Ç¡¢¤³¤ì¤¬¥é¥Ã¥×¤Î·ë²Ì¤ò°ú¤­¿ô¤È¤·¤ÆÅϤµ¤ì¤Þ¤¹¡£¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤ËÂФ¹¤ë¥é¥Ã¥×¤Ï¡¢·ë²Ì¤ò̵¸Â¤ÎÀºÅ٤Ƿ׻»¤·¡¢¤³¤ì¤ò 2a ¤Ç½ü»»¤·¤¿¸å¡¢Âбþ¤¹¤ëÀºÅ٤˴ݤá¤ëÁàºî¤ÈÄêµÁ¤µ¤ì¤Þ¤¹¡£¥¢¥ó¥À¡¼¥Õ¥í¡¼¤Î¾ì¹ç¤Ï¡¢·ë²Ì¤ò 2a ¤Ç¾è»»¤·¤Þ¤¹¡£»Ø¿ô¦Á ¤ÏñÀºÅ٤ξì¹ç¤Ï 192¡¢ÇÜÀºÅ٤ξì¹ç¤Ï 1536 ¤È¤Ê¤ê¤Þ¤¹¡£¤³¤ì¤Ï¡¢1.45 × 2130 ¤¬ 1.45 × 2-62 ¤ËÊÑ´¹¤µ¤ì¤ë¤«¤é¤Ç¤¹¡£

´Ý¤á¥â¡¼¥É

IEEE ɸ½à¤Ç¤Ï¡¢¤½¤ì¤¾¤ì¤ÎÁàºî¤òÀµ³Î¤Ë·×»»¤·¡¢¤½¤Î·ë²Ì¤¬´Ý¤á¤é¤ì¤ë (2 ¿Ê¿ô¤«¤é 10 ¿Ê¿ô¤Ø¤ÎÊÑ´¹¤Ï½ü¤¯) ¤Î¤Ç¡¢Àµ³Î¤Ç¤Ê¤¤·ë²Ì¤¬À¸À®¤µ¤ì¤ë¤Èɬ¤º¡¢´Ý¤á¤¬¹Ô¤ï¤ì¤Þ¤¹¡£´Ý¤á¤È¤ÏËÜÍè¡¢ºÇ¤â¶á¤¤ÃͤÇɽ¤ï¤¹¤È¤¤¤¦¤³¤È¤Ç¤¹¡£¤³¤ì°Ê³°¤Ëɸ½à¤Ë¤Ï¡¢0 ¤Ø¤Î´Ý¤á¡¢+ ¤Ø¤Î´Ý¤á¡¢- ¤Ø¤Î´Ý¤á¤È¤¤¤¦ 3 ¼ïÎà¤Î´Ý¤á¥â¡¼¥É¤¬¤¢¤ê¤Þ¤¹¡£- ¤Ø¤Î´Ý¤á¤òÀ°¿ôÁàºî¤Ø¤ÎÊÑ´¹¤È¤È¤â¤Ë»ÈÍѤ¹¤ë¤È¡¢ÊÑ´¹½èÍý¤ÏÀڤ겼¤²´Ø¿ô¤È¤·¤Æ¹Ô¤ï¤ì¤Þ¤¹¡£°ìÊý + ¤Ë´Ý¤á¤ë¤È¡¢ÀÚ¤ê¾å¤²´Ø¿ô¤Ë¤Ê¤ê¤Þ¤¹¡£0 ¤Ø¤Î´Ý¤á¡¢¤Þ¤¿¤Ï - ¤Ø¤Î´Ý¤á¤¬Í­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤È¤­¤Ë¡¢Àµ¤ÎÃͤ¬¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤¹¤ë¤È¡¢¥Ç¥Õ¥©¥ë¥È¤Î·ë²Ì¤¬ + ¤Ç¤Ï¤Ê¤¯¡¢É½¸½²Äǽ¤ÊºÇÂçÃͤˤʤë¤Î¤Ç¡¢´Ý¤á¥â¡¼¥É¤Ï¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤Ë±Æ¶Á¤òÍ¿¤¨¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£Æ±Íͤˡ¢+ ¤Ø¤Î´Ý¤á¡¢¤Þ¤¿¤Ï 0 ¤Ø¤Î´Ý¤á¤¬Í­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤È¤­¤ËÉé¤ÎÃͤ¬¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤¹¤ë¤È¡¢Éé¤ÎºÇÂçÃͤ¬À¸À®¤µ¤ì¤Þ¤¹¡£

´Ý¤á¥â¡¼¥É¤Î 1 ¤Ä¤Î±þÍÑÎã¤È¤·¤Æ¡¢¥¤¥ó¥¿¥Ð¥ë¤Î·×»»¤¬¤¢¤ê¤Þ¤¹ (¤â¤¦ 1 ¤Ä¤Î±þÍÑÎã¤Ï¡¢¡Ö2 ¿Ê¿ô¤«¤é 10 ¿Ê¿ô¤Ø¤ÎÊÑ´¹¡×¤Ç¼¨¤·¤Þ¤¹)¡£¥¤¥ó¥¿¥Ð¥ë¤Î·×»»¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢2 ¤Ä¤ÎÃÍ x¡¢y ¤ÎϤò¥¤¥ó¥¿¥Ð¥ë ¤È¤·¤Æ°·¤¤¤Þ¤¹¡£¤³¤³¤Ç ¤Ï x y ¤ò- ¤Ë¸þ¤«¤Ã¤Æ´Ý¤á¡¢ ¤Ï x y ¤ò + ¤Ë¸þ¤«¤Ã¤Æ´Ý¤á¤ë¤È¤¤¤¦°ÕÌ£¤Ç¤¹¡£²Ã»»¤ÎÀµ³Î¤Ê·ë²Ì¤Ï¡¢¥¤¥ó¥¿¥Ð¥ë ¤ÎÈϰϤˤ¢¤ê¤Þ¤¹¡£´Ý¤á¥â¡¼¥É¤¬¤Ê¤±¤ì¤Ð¡¢¥¤¥ó¥¿¥Ð¥ë¤Î·×»»¤ÏÄ̾ ¤È (¤³¤³¤Ç ¤Ï¥Þ¥·¥ó¡¦¥¤¥×¥·¥í¥ó) ¤Ë¤è¤Ã¤Æ¼Â¸½¤·¤Þ¤¹21¡£

¤³¤Î·ë²Ì¡¢¥¤¥ó¥¿¥Ð¥ë¤Î¥µ¥¤¥º¤¬Â¿¤á¤Ë¸«ÀѤâ¤é¤ì¤Þ¤¹¡£¥¤¥ó¥¿¥Ð¥ë·×»»¤Î·ë²Ì¤Ï¥¤¥ó¥¿¥Ð¥ë¤È¤·¤Æ·×»»¤µ¤ì¤ë¤Î¤Ç¡¢Ä̾Áàºî¤ËÂФ¹¤ëÆþÎϤ⥤¥ó¥¿¥Ð¥ë¤Ç»ØÄꤷ¤Þ¤¹¡£2 ¤Ä¤Î¥¤¥ó¥¿¥Ð¥ë ¤È ¤ò²Ã»»¤¹¤ë¤È¡¢·ë²Ì¤Ï (¤³¤³¤Ç ¤Ï´Ý¤á¥â¡¼¥É¤ò - ¤Ë¥»¥Ã¥È¤·¤¿ ¡¢¤Þ¤¿ ¤Ï´Ý¤á¥â¡¼¥É¤ò + ¤Ë¥»¥Ã¥È¤·¤¿ ) ¤Ë¤Ê¤ê¤Þ¤¹¡£

¥¤¥ó¥¿¥Ð¥ë·×»»¤ò»ÈÍѤ·¤ÆÉâÆ°¾®¿ôÅÀ±é»»¤ò¹Ô¤¦¤È¡¢ºÇ½ªÅª¤Ê²ò¤Ï¡¢Àµ³Î¤Ê·×»»·ë²Ì¤ò´Þ¤à¥¤¥ó¥¿¥Ð¥ë¤È¤·¤ÆÆÀ¤é¤ì¤Þ¤¹¡£¤³¤ì¤Ï¡¢¥¤¥ó¥¿¥Ð¥ë¤¬¹­¤¹¤®¤ë¾ì¹ç (¤è¤¯µ¯¤­¤ë¤³¤È¤Ç¤¹)¡¢Àµ¤·¤¤²ò¤¬¤½¤Î¥¤¥ó¥¿¥Ð¥ëÆâ¤ÎǤ°Õ¤ÎÃͤˤʤë¤Î¤Ç¡¢¤½¤ì¤Û¤ÉÊØÍø¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£¥¤¥ó¥¿¥Ð¥ë¤Î·×»»¤Ï¡¢Â¿½ÅÀºÅÙ¤ÎÉâÆ°¾®¿ôÅÀ¥Ñ¥Ã¥±¡¼¥¸¤ÈÊ»ÍѤ¹¤ì¤Ð¡¢¤µ¤é¤Ë°ÕÌ£¤ò»ý¤Á¤Þ¤¹¡£¤Þ¤º¡¢ÆÃÄê¤ÎÀºÅÙ p ¤È¤È¤â¤Ë·×»»¤ò¹Ô¤¤¤Þ¤¹¡£¥¤¥ó¥¿¥Ð¥ë·×»»¤Î·ë²Ì¤Ë¤è¤ê¡¢ºÇ½ªÅª¤Ê²ò¤¬ÉÔÀµ³Î¤Ç¤¢¤ë¤³¤È¤¬¤ï¤«¤ì¤Ð¡¢ºÇ½ªÅª¤Ê¥¤¥ó¥¿¥Ð¥ë¤¬Å¬Àڤʥµ¥¤¥º¤Ë¤Ê¤ë¤Þ¤ÇÃʳ¬Åª¤ËÀºÅÙ¤ò¾å¤²¤Ê¤¬¤é¡¢²¿ÅÙ¤«·×»»¤·¤Ê¤ª¤·¤Þ¤¹¡£

¥Õ¥é¥°

IEEEɸ½à¤Ç¤Ï¡¢¤¤¤¯¤Ä¤«¤Î¥Õ¥é¥°¤È¥â¡¼¥É¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤¹¤Ç¤ËÀâÌÀ¤·¤¿¤È¤ª¤ê¡¢5 ¼ïÎà¤ÎÎã³° (¥¢¥ó¥À¡¼¥Õ¥í¡¼¡¢¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¡¢¥¼¥í¤Ë¤è¤ë½ü»»¡¢Ìµ¸ú¤ÊÁàºî¡¢ÉÔÀµ³Î¤ÊÁàºî) ¤ËÂФ·¤Æ¥¹¥Æ¡¼¥¿¥¹¥Õ¥é¥°¤¬ÍÑ°Õ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤Þ¤¿´Ý¤á¥â¡¼¥É¤Ë¤Ï¡¢ºÇ¤â¶á¤¤Ãͤؤδݤᡢ+ ¤Ø¤Î´Ý¤á¡¢0 ¤Ø¤Î´Ý¤á¡¢- ¤Ø¤Î´Ý¤á¤Î 4 ¼ïÎब¤¢¤ê¤Þ¤¹¡£¤½¤ì¤¾¤ì¤ÎÎã³°¤ËÂФ·¤Æ¥¤¥Í¡¼¥Ö¥ë¡¦¥â¡¼¥É¡¦¥Ó¥Ã¥È¤ò 1 ¤Ä³ÎÊݤ¹¤ë¤è¤¦¤Ë¶¯¤¯¤ª´«¤á¤·¤Þ¤¹¡£Ëܹà¤Ç¤Ï¡¢³Æ¥â¡¼¥É¤È¥Õ¥é¥°¤ò¤É¤Î¤è¤¦¤ËÍ­¸ú¤ËÍøÍѤǤ­¤ë¤«¤ò¼¨¤¹Îã¤ò¤¤¤¯¤Ä¤«¾Ò²ð¤·¤Þ¤¹¡£¤µ¤é¤Ë¹âÅÙ¤ÊÎã¤Ë¤Ä¤¤¤Æ¤Ï¡¢¡Ö2 ¿Ê¿ô¤«¤é 10 ¿Ê¿ô¤Ø¤ÎÊÑ´¹¡×¤Ë¼¨¤·¤Æ¤¤¤Þ¤¹¡£

xn (¤³¤³¤Ç n ¤ÏÀ°¿ô) ¤ò·×»»¤¹¤ë¥µ¥Ö¥ë¡¼¥Á¥ó¤ÎÎã¤ò¹Í¤¨¤Æ¤ß¤Þ¤¹¡£n > 0 ¤Î¾ì¹ç¤Ï¡¢¼¡¤Î¤è¤¦¤Êñ½ã¤Ê¥ë¡¼¥Á¥ó¤¬»ÈÍѤǤ­¤Þ¤¹¡£

PositivePower(x,n) { 
 while (n is even) { 
     x = x*x
     n = n/2
 } 
 u = x
 while (true) { 
     n = n/2
     if (n==0) return u
     x = x*x
     if (n is odd) u = u*x
 } 


°ìÊý¡¢n < 0 ¤Î¾ì¹ç¤Ë xn ¤ò·×»»¤¹¤ë¤µ¤é¤ËÀµ³Î¤ÊÊýË¡¤Ï¡¢PositivePower (1/x, -n)¤Ç¤Ï¤Ê¤¯¡¢1/PositivePower (x, -n) ¤ò¸Æ¤Ó½Ð¤¹¤³¤È¤Ç¤¹¡£¤³¤ÎÍýͳ¤Ï¡¢ºÇ½é¤Î¼°¤Î¾ì¹ç¡¢¾è»»¤ò¹Ô¤¦ n ¤ÎÃͤ´¤È¤Ë¡¢1/x ¤Î½ü»»¤ÇÆÀ¤é¤ì¤¿´Ý¤á¸íº¹¤¬´Þ¤Þ¤ì¤ë¤³¤È¤Ë¤Ê¤ë¤«¤é¤Ç¤¹¡£2 ¤ÄÌܤμ°¤Ç¤Ï¡¢Àµ³Î¤ÊÃͤη׻» (x) ¤Ë¤â¤È¤Å¤¤¤Æ¡¢ºÇ¸å¤Ë¹Ô¤¦½ü»»¤Ç´Ý¤á¸íº¹¤¬ 1 ²ó¤À¤±È¼¤¤¤Þ¤¹¡£¤·¤«¤·¡¢¤³¤ÎÊýË¡¤Ë¤â·çÅÀ¤¬¤¢¤ê¤Þ¤¹¡£PositivePower (x, -n) ¤¬¥¢¥ó¥À¡¼¥Õ¥í¡¼¤Ë¤Ê¤ë¤È¡¢¥¢¥ó¥À¡¼¥Õ¥í¡¼¡¦¥È¥é¥Ã¥×¥Ï¥ó¥É¥é¤¬¸Æ¤Ó½Ð¤µ¤ì¤ë¤«¡¢¤¢¤ë¤¤¤Ï¥¢¥ó¥À¡¼¥Õ¥í¡¼¡¦¥¹¥Æ¡¼¥¿¥¹¥Õ¥é¥°¤¬¥»¥Ã¥È¤µ¤ì¤Þ¤¹¡£¤³¤ÎÆ°ºî¤Ï¡¢x-n ¤¬¥¢¥ó¥À¡¼¥Õ¥í¡¼¤·¤¿»þÅÀ¤Ç¡¢xn ¤Ï¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤Ë¤Ê¤ë¤«¡¢ÈÏ°ÏÆâ¤Ë¼ý¤Þ¤ë¤«¤Î¤¤¤º¤ì¤«¤Ë¤Ê¤ë¤Î¤Ç¡¢¸í¤ê¤Ç¤¹22¡£¤·¤«¤·¡¢IEEE ɸ½à¤Ç¤Ï¥æ¡¼¥¶¡¼¤¬¤¹¤Ù¤Æ¤Î¥Õ¥é¥°¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤ë¤Î¤Ç¡¢¥µ¥Ö¥ë¡¼¥Á¥ó¤Ë¤è¤ê´Êñ¤Ë¤³¤ì¤ò½¤Àµ¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£Ã±¤Ë¡¢¥ª¡¼¥Ð¡¼¥Õ¥í¡¼/¥¢¥ó¥À¡¼¥Õ¥í¡¼¡¦¥¤¥Í¡¼¥Ö¥ë¡¦¥Ó¥Ã¥È¤ò¥ª¥Õ¤Ë¤·¤Æ¡¢¥ª¡¼¥Ð¡¼¥Õ¥í¡¼/¥¢¥ó¥À¡¼¥Õ¥í¡¼¡¦¥¹¥Æ¡¼¥¿¥¹¥Ó¥Ã¥È¤òÊݸ¤¹¤ë¤À¤±¤Î¤³¤È¤Ç¤¹¡£¤³¤Î¸å¡¢1/PositivePower (x, -n) ¤ò·×»»¤·¤Þ¤¹¡£¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¡¢¥¢¥ó¥À¡¼¥Õ¥í¡¼¤Î¤¤¤º¤ì¤Î¥¹¥Æ¡¼¥¿¥¹¥Ó¥Ã¥È¤â¥»¥Ã¥È¤µ¤ì¤Ê¤±¤ì¤Ð¡¢¥È¥é¥Ã¥×¡¦¥¤¥Í¡¼¥Ö¥ë¡¦¥Ó¥Ã¥È¤È¤È¤â¤Ë¥¹¥Æ¡¼¥¿¥¹¥Ó¥Ã¥È¤¬¥ê¥¹¥È¥¢¤µ¤ì¤Þ¤¹¡£¤¤¤º¤ì¤«¤Î¥¹¥Æ¡¼¥¿¥¹¥Ó¥Ã¥È¤¬¥»¥Ã¥È¤µ¤ì¤¿¾ì¹ç¤Ï¡¢¥Õ¥é¥°¤¬¥ê¥¹¥È¥¢¤µ¤ì¡¢PositivePower (1/x, -n)¤ò»ÈÍѤ·¤ÆºÆ·×»»¤·¤Þ¤¹¡£¤³¤Î¾ì¹ç¤Ï¡¢Å¬ÀÚ¤ÊÎã³°¤¬µ¯¤­¤Þ¤¹¡£

¥Õ¥é¥°¤ò»ÈÍѤ¹¤ë¤â¤¦ 1 ¤Ä¤Î¥±¡¼¥¹¤Ï¡¢arccos x = 2 arctan ¤È¤¤¤¦¸ø¼°¤Ç arccos¤ò·×»»¤¹¤ë¤È¤­¤Ëµ¯¤­¤Þ¤¹¡£arctan ( ) ¤Îɾ²Á¤¬ ¦Ð/2 ¤È¤Ê¤ë¾ì¹ç¡¢arccos (-1) ¤Ï¡¢Ìµ¸ÂÂç¤Î±é»»¤Ë½¾¤Ã¤Æ 2¡¦arctan ( ) = ¦Ð¤ËÀµ¤·¤¯É¾²Á¤µ¤ì¤Þ¤¹¡£¤¿¤À¤·¡¢ (1 - x)/(1 + x) ¤Î·×»»¤Ë¤è¤ê¡¢arccos (-1) ¤ÏÎã³°¤Ë¤Ê¤é¤Ê¤¯¤Æ¤â¡¢¥¼¥í¤Ë¤è¤ë½ü»»Îã³°¤Î¥Õ¥é¥°¤¬¥»¥Ã¥È¤µ¤ì¤Þ¤¹¡£¤³¤ÎÌäÂê¤Ï´Êñ¤Ë²ò·è¤Ç¤­¤Þ¤¹¡£¤Þ¤º¥¼¥í¤Ë¤è¤ë½ü»»¥Õ¥é¥°¤ÎÃͤòÊݸ¤·¤Æ¤«¤é¡¢arccos ¤ò·×»»¤·¡¢·×»»¤¬½ªÎ»¤·¤¿¸å¡¢¤â¤È¤ÎÃͤò¥ê¥¹¥È¥¢¤·¤Þ¤¹¡£

¥·¥¹¥Æ¥à¤Î¦ÌÌ

¥³¥ó¥Ô¥å¡¼¥¿¥·¥¹¥Æ¥à¤Î¤¢¤é¤æ¤ë¦Ì̤òÀ߷פ¹¤ë¾ì¹ç¤Ë¡¢ÉâÆ°¾®¿ôÅÀ¤Ë´Ø¤¹¤ëÃ챤¬É¬Íפˤʤê¤Þ¤¹¡£¥³¥ó¥Ô¥å¡¼¥¿¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Ë¤ÏÄ̾ÉâÆ°¾®¿ôÅÀÌ¿Î᤬ÁȤ߹þ¤Þ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢¥³¥ó¥Ñ¥¤¥é¤Ç¤³¤ì¤é¤ÎÉâÆ°¾®¿ôÅÀÌ¿Îá¤òÀ¸À®¤¹¤ë¤ÈƱ»þ¤Ë¡¢¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Ç¤Ï¡¢³ÆÉâÆ°¾®¿ôÅÀÌ¿Îá¤ËÂФ·¤ÆÎã³°¾ò·ï¤¬È¯À¸¤·¤¿¾ì¹ç¤Î½èÃÖ¤òȽÃǤ·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£°ìÈ̤ˡ¢¿ôÃͲòÀϤβòÀâ½ñ¤òÆɤó¤Ç¤â¡¢´ðËÜŪ¤ÊÆâÍƤϥ½¥Õ¥È¥¦¥§¥¢¤Î¥æ¡¼¥¶¡¼¤ä³«È¯¼Ô¤òÂоݤ˽ñ¤«¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢¥³¥ó¥Ô¥å¡¼¥¿¥·¥¹¥Æ¥à¤ÎÀ߷׼ԤˤϤ½¤ì¤Û¤É»²¹Í¤Ë¤Ï¤Ê¤ê¤Þ¤»¤ó¡£Àß·×¾å¤ÎÊý¿Ë¤¬¡¢¤É¤ÎÄøÅÙͽ´ü¤»¤ÌÊý¸þ¤ËȯŸ¤¹¤ë¤«¤ò¼¨¤¹¼ÂÎã¤È¤·¤Æ¡¢¼¡¤Î BASIC ¥×¥í¥°¥é¥à¤ò¹Í¤¨¤Æ¤ß¤Þ¤¹¡£

q = 3.0/7.0
if q = 3.0/7.0 then print "Equal":
    else print "Not Equal"


Borland ¼Ò¤Î Turbo Basic ¤ò IBM PC ¾å¤Ç¼Â¹Ô¤·¤Ê¤¬¤é¡¢"Not Equal" ¤È½ÐÎϤ¹¤ë¥×¥í¥°¥é¥à¤Ç¤¹¡£¤³¤ÎÎã¤ÎʬÀϤϡ¢¼¡¤Î¹à¤Ç¹Ô¤¤¤Þ¤¹¡£

¤Ê¤ª¡¢¾åµ­¤Î¤è¤¦¤ÊÆüì¤ÊÎã¤ÏÉâÆ°¾®¿ôÅÀ¿ô¤ÈƱÎó¤Ë°·¤¦¤³¤È¤Ï¤Ç¤­¤Ê¤¤¤È¤¤¤¦»ØŦ¤â¤¢¤ë¤È»×¤ï¤ì¤Þ¤¹¡£¤·¤«¤·¡¢¤¤¤º¤ì¤ÎÎã¤âÆÃÄê¤ÎÈÏ°Ï E ¤ÎÃæ¤Ë¼ý¤Þ¤ë¤â¤Î¤È¤¤¤¦°ÕÌ£¤Ç¡¢Æ±¤¸¤Ç¤¢¤ë¤È²ò¼á¤·¤Æ¤¯¤À¤µ¤¤¡£¤³¤ì¤Ï¡¢Â¿¤¯¤ÎÅú¤¨¤Ë¤Ê¤ë¤ÈƱ»þ¤Ë¡¢Â¿¤¯¤Îµ¿Ìä¤âÄ褹¤ë¤Î¤Ç¡¢ËüǽŪ¤Ê²òÅú¤Ë¤Ï¤Ê¤é¤Ê¤¤¤Î¤Ï¸À¤¦¤Þ¤Ç¤â¤¢¤ê¤Þ¤»¤ó¡£E ¤ÎÃͤϤɤΤ褦¤Ë¤Ê¤ë¤Î¤Ç¤·¤ç¤¦¡£x < 0 ¤È y > 0 ¤ÎÃͤ¬ E ¤ÎÈÏ°ÏÆâ¤Ë¤¢¤ë¾ì¹ç¡¢¤½¤ì¤¾¤ì°Û¤Ê¤ëÉä¹æ¤¬¤¢¤ë¤Î¤Ë¡¢¼ÂºÝ¤Ë¤³¤ì¤¬Åù²Á¤Ç¤¢¤ë¤È¸À¤¨¤ë¤Ç¤·¤ç¤¦¤«¡£¤µ¤é¤Ë¡¢a ¡Á b ¢Î|a - b| < E ¤È¤¤¤¦¥ë¡¼¥ë¤ÇÄêµÁ¤µ¤ì¤ë´Ø·¸¤Ï¡¢a ¡Á b ¤È b ¡Á c ¤¬ a ¡Á c ¤ò°ÕÌ£¤¹¤ë¤â¤Î¤Ç¤Ï¤Ê¤¤¤Î¤Ç¡¢Åù²Á¤Î´Ø·¸¤È¤ß¤Ê¤¹¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£

Ì¿Î᥻¥Ã¥È

¤¢¤ë¥¢¥ë¥´¥ê¥º¥à¤Ç¡¢Àµ³Î¤Ê·ë²Ì¤òÀ¸À®¤¹¤ë¤¿¤á¤Ë¡¢ÀºÅ٤ι⤤¥·¥ç¡¼¥È¥Ð¡¼¥¹¥È¤¬É¬Íפˤʤ뤳¤È¤¬¤¢¤ê¤Þ¤¹¡£

°ìÎã¤È¤·¤Æ¡¢Æó¼¡ÊýÄø¼°¤Îº¬¤Î¸ø¼° ( ) /2a ¤¬¤¢¤²¤é¤ì¤Þ¤¹¡£234¥Ú¡¼¥¸¤ËÀâÌÀ¤¹¤ë¤È¤ª¤ê¡¢b2 4ac¤Î¤È¤­¡¢´Ý¤á¸íº¹¤Ë¤è¤êÆó¼¡ÊýÄø¼°¤Îº¬¤Î¸ø¼°¤Çµá¤á¤¿º¬¤Î·å¤ÎȾʬ¤¬±øÀ÷¤µ¤ì¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£b2 - 4ac ¤ÎÉôʬ·×»»¤òÇÜÀºÅ٤ǹԤ¦¤³¤È¤Ë¤è¤ê¡¢º¬¤ÎÇÜÀºÅ٥ӥåȤÎȾʬ (¤¹¤Ê¤ï¤ÁñÀºÅ٥ӥåȤÎÁ´Éô) ¤¬ÊÝ»ý¤µ¤ì¤Þ¤¹¡£

a¡¢b¡¢c ¤Î³ÆÃͤ¬Ã±ÀºÅÙ¥Õ¥©¡¼¥Þ¥Ã¥È¤Î¤È¤­¤Ë¡¢2 ¤Ä¤ÎñÀºÅÙ¿ô¤ò¼è¤ê¡¢ÇÜÀºÅ٤ηë²Ì¤òÀ¸À®¤¹¤ë¾è»»Ì¿Î᤬¤¢¤ì¤Ð¡¢b2 - 4ac ¤òÇÜÀºÅ٤Ƿ׻»¤¹¤ë¤Î¤Ï´Êñ¤Ç¤¹¡£2 ¤Ä¤Î p ·å¿ô¤òÀµ³Î¤Ë´Ý¤á¤ë¤Ë¤Ï¡¢½èÍý¤Î¿Ê¹Ô¤Ë½¾¤Ã¤Æ¥Ó¥Ã¥È¤¬ÇË´þ¤µ¤ì¤ë²ÄǽÀ­¤Ï¤¢¤ë¤â¤Î¤Î¡¢ÀѤΠ2p ¥Ó¥Ã¥ÈÁ´ÂΤòÀ¸À®¤¹¤ë¤¿¤á¤Ë¾è¿ô¤¬É¬Íפˤʤê¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢Ã±ÀºÅÙ¥ª¥Ú¥é¥ó¥É¤«¤éÇÜÀºÅÙ¤ÎÀѤò·×»»¤¹¤ë¥Ï¡¼¥É¥¦¥§¥¢¤ÏÄ̾ñÀºÅ٤ξè¿ô¤Î¾ì¹ç¤ËÈæ¤Ù¥³¥¹¥È¤¬¹â¤¯¡¢¤Þ¤¿ÇÜÀºÅ٤ξè¿ô¤è¤ê¤â¥³¥¹¥È¤¬Ä㤯¤Ê¤ê¤Þ¤¹¡£¤³¤ì¤Ë¤â¤«¤«¤ï¤é¤º¡¢ºÇ¶á¤ÎÌ¿Î᥻¥Ã¥È¤Ï¥ª¥Ú¥é¥ó¥É¤ÈƱ¤¸ÀºÅ٤ηë²Ì¤òÀ¸À®¤¹¤ëÌ¿Îá¤À¤±¤òÄ󶡤¹¤ë·¹¸þ¤¬¤¢¤ê¤Þ¤¹23¡£

2 ¤Ä¤ÎñÀºÅÙ¥ª¥Ú¥é¥ó¥É¤òÁȤ߹ç¤ï¤»¤ÆÇÜÀºÅ٤ηë²Ì¤òÀ¸À®¤¹¤ëÌ¿Î᤬¡¢Æó¼¡ÊýÄø¼°¤Îº¬¤Î¸ø¼°¤Ë¸Â¤Ã¤ÆŬÍѤµ¤ì¤ë¾ì¹ç¡¢Ì¿Î᥻¥Ã¥È¤ËÄɲ䷤Ƥâ°ÕÌ£¤¬¤¢¤ê¤Þ¤»¤ó¡£¤·¤«¤·¡¢¤³¤ÎÌ¿Îá¤Ë¤Ï¤µ¤Þ¤¶¤Þ¤Ê»È¤¤Êý¤¬¤¢¤ê¤Þ¤¹¡£¼¡¤Î°ì¼¡ÊýÄø¼°¤Î·Ï¤òµá¤á¤ëÌäÂê¤ò¹Í¤¨¤Æ¤ß¤Þ¤¹¡£

a11x1 + a12x2 +¡¦¡¦¡¦+ a1nxn= b1
a21x1 + a22x2 +¡¦¡¦¡¦+ a2nxn= b2
× × ×
an1x1 + an2x2 +¡¦¡¦¡¦+ annxn= bn

¤³¤ì¤Ï¡¢¼¡¤Î¤è¤¦¤Ë Ax = b ¤È¤·¤Æ¹ÔÎó·Á¼°¤Ë½ñ¤­´¹¤¨¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£



x(1) ¤Î²ò¤ò¥¬¥¦¥¹¤Î¾Ãµî¤Ê¤É¤ÎÊýË¡¤Ç·×»»¤¹¤ë¤È²¾Äꤷ¤Þ¤¹¡£·ë²Ì¤ÎÀºÅÙ¤ò¡ÖÈ¿ÉüŪ²þÁ±¡×¤ÎÊýË¡¤Ç¾å¤²¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£

ºÇ½é¤Î·×»»¤ò¹Ô¤¤¤Þ¤¹¡£

¦Î= Ax(1) - b (12)

¼¡¤Ë·Ï¤ò·×»»¤·¤Þ¤¹¡£

Ay = ¦Î (13)

x(1) ¤¬Àµ³Î¤Ê·×»»¤Ç¤¢¤ë¾ì¹ç¡¢¦Î¤Ï y ¤ÈƱÍͤ˥¼¥í¡¦¥Ù¥¯¥¿¤Ë¤Ê¤ê¤Þ¤¹¡£°ìÈ̤ˡ¢¦Î¤È y ¤Î·×»»¤Ï´Ý¤á¸íº¹¤ò¾·¤­¤ä¤¹¤¤¤Î¤Ç¡¢Ay ¦Î Ax(1)-b = A (x(1)- x) ¤È¤Ê¤ê¤Þ¤¹ (¤¿¤À¤· x ¤Ï¿¿¤Î²ò (̤ÃÎ) ¤Ç¤¹)¡£y x(1)- x ¤È¤Ê¤ë¤Î¤Ç¡¢²ò¤Î³µ»»¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£

x(2) = x(1) - y (14)

(12)¡¢ (13)¡¢ (14) ¤Î¥¹¥Æ¥Ã¥×¤ò¤½¤ì¤¾¤ì x(1) ¤ò x(2) ¤Ë¡¢¤Þ¤¿ x(2) ¤ò x(3) ¤ËÃÖ¤­´¹¤¨¤Æ·«¤êÊÖ¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£x(i+1) ¤¬ x(i) ¤è¤êÀµ³Î¤Ç¤¢¤ë¤È¤¤¤¦»ØŦ¤ÏÀµ¼°¤Ê¤â¤Î¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢Golub/Van Loan (1989) ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£

È¿ÉüŪ²þÁ±¤ò¼Â¹Ô¤¹¤ë¤È¡¢¦Î¤Ï¡¢¶á»÷ÃͤǤϤ¢¤ë¤â¤Î¤ÎÀµ³Î¤Ë¤Ï°ìÃפ·¤Ê¤¤ÉâÆ°¾®¿ôÅÀ¿ô¤Îº¹¤ËÁêÅö¤¹¤ëÍ×ÁǤò´Þ¤à¥Ù¥¯¥¿¤È¤Ê¤ë¤Î¤Ç¡¢°­À­¤ÎÁ껦¤ÎÌäÂ꤬½Ð¤Æ¤­¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢È¿ÉüŪ²þÁ±¤Ï¡¢¦Î= Ax(1) - b ¤òÇÜÀºÅ٤Ƿ׻»¤·¤Ê¤¤¸Â¤ê¡¢¤½¤ì¤Û¤É°ÕÌ£¤¬¤¢¤ê¤Þ¤»¤ó¡£¤³¤ì¤â¡¢´°Á´¤ÊÇÜÀºÅ٤ηë²Ì¤¬É¬ÍפȤµ¤ì¤ë¤È¤³¤í¤Ç¡¢2 ¤Ä¤ÎñÀºÅÙ¿ô (A ¤È x(1)) ¤ÎÀѤò·×»»¤¹¤ë¥±¡¼¥¹¤ËÁêÅö¤·¤Þ¤¹¡£

Í×Ì󤹤ë¤È¡¢2 ¤Ä¤ÎÉâÆ°¾®¿ôÅÀ¿ô¤ò¾è»»¤·¡¢¥ª¥Ú¥é¥ó¥É¤Î 2 ÇܤÎÀºÅÙ¤ÇÀѤòÊÖ¤¹Ì¿Îá¤Ï¡¢ÉâÆ°¾®¿ôÅÀÌ¿Î᥻¥Ã¥È¤ËÄɲ乤뤳¤È¤¬¤Ç¤­¤Þ¤¹¡£¤³¤Î¤³¤È¤¬¥³¥ó¥Ñ¥¤¥é¤ËÍ¿¤¨¤ë±Æ¶Á¤Ë¤Ä¤¤¤Æ¼¡¤ËÀâÌÀ¤·¤Þ¤¹¡£

¸À¸ì¤È¥³¥ó¥Ñ¥¤¥é

¥³¥ó¥Ñ¥¤¥é¤ÈÉâÆ°¾®¿ôÅÀ¤ÎÁê¸ß´Ø·¸¤Ë¤Ä¤¤¤Æ¤Ï¡¢Farnum (1988) ¤Î»ñÎÁ¤Ë¾Ü¤·¤¯ÀâÌÀ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£Ëܹà¤ÎÂçÉôʬ¤Ï¡¢¤³¤Î»ñÎÁ¤«¤éÈ´¿è¤·¤¿¤â¤Î¤Ç¤¹¡£

¤¢¤¤¤Þ¤¤¤µ

¸À¸ì¤ÎÄêµÁ¤Ë¤è¤Ã¤Æ¡¢¥×¥í¥°¥é¥à¤Ë´Ø¤¹¤ëʸ¤¬¾ÚÌÀ¤µ¤ì¤ë¤è¤¦¤Ë¸À¸ì¤Î°ÕÌ£¤òÀµ³Î¤Ëµ¬Äê¤Ç¤­¤ë¤Î¤¬ÍýÁÛŪ¤Ç¤¹¡£¤³¤Î¤³¤È¤Ï¡¢¸À¸ì¤ÎÀ°¿ôÉôʬ¤Ë¤Ä¤¤¤Æ¤Ï¤¢¤Æ¤Ï¤Þ¤ë¤â¤Î¤Î¡¢ÉâÆ°¾®¿ôÅÀ¤Ë´Ø¤¹¤ë¸Â¤ê¡¢¸À¸ì¤ÎÄêµÁ¼«ÂΤ¬¤¢¤¤¤Þ¤¤¤Ç¤¢¤ë¤³¤È¤â»ö¼Â¤Ç¤¹¡£¤ª¤½¤é¤¯¡¢¸À¸ì¤ÎÀ߷׼Ԥΰռ±¤ÎÃæ¤Ë¡¢ÉâÆ°¾®¿ôÅÀ¤Ë¤Ï´Ý¤á¸íº¹¤¬ÉÕ¤­¤â¤Î¤Ç¤¢¤ë¤¿¤á¡¢¾ÚÌÀ¤Ç¤­¤ë¤â¤Î¤Ï²¿¤â¤Ê¤¤¤È¤¤¤¦»×¤¤¹þ¤ß¤¬¤¢¤ë¤è¤¦¤Ë»×¤ï¤ì¤Þ¤¹¡£²¾¤Ë¤³¤ì¤¬ËÜÅö¤Ç¤¢¤ë¤Ê¤é¡¢¤³¤ì¤Þ¤Ç¤ÎÀâÌÀ¤Ï¡¢¤³¤ÎÏÀµò¤Î¸í¤Ã¤¿Ç§¼±¤Ë¤Ä¤¤¤Æ¼Â¾Ú¤·¤Æ¤­¤¿¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£Ëܹà¤Ç¤Ï¡¢¸À¸ìÄêµÁ¤Ë¶¦Ä̤·¤Æ¸«¤é¤ì¤ë¤¢¤¤¤Þ¤¤¤µ¤Ë¤Ä¤¤¤Æ¡¢¤½¤ÎÂнèÊýË¡¤Ê¤É¤òÃæ¿´¤ËÀâÌÀ¤·¤Þ¤¹¡£

¶Ã¤¯¤Ù¤­¤³¤È¤Ë¡¢¸À¸ì¤Ë¤è¤Ã¤Æ¤Ï x ¤¬ÉâÆ°¾®¿ôÅÀ¤ÎÊÑ¿ô (Î㤨¤Ð 3.0/10.0) ¤Ç¤¢¤ë¾ì¹ç¡¢10.0*x ¤¬¸½¤ì¤ë¤¿¤Ó¤Ë¤¹¤Ù¤ÆƱ¤¸Ãͤˤʤë¤È¤¤¤¦ÌÀ³Î¤Ê»ØÄê¤Î¤Ê¤¤¤â¤Î¤¬¤è¤¯¤¢¤ê¤Þ¤¹¡£Î㤨¤Ð¡¢Brown ¤Î¥â¥Ç¥ë¤Ë¤â¤È¤Å¤¯ Ada ¤Ç¤Ï¡¢ÉâÆ°¾®¿ôÅÀ±é»»¤Ï Brown ¤Î¸¶Íý¤À¤±¤òËþ¤¿¤·¤Æ¤¤¤ì¤Ð½½Ê¬¤Ê¤Î¤Ç¡¢¼°¤¬Â¿¿ô¤ÎÃͤò»ý¤Ã¤Æ¤¤¤Æ¤â¤«¤Þ¤ï¤Ê¤¤¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£ÉâÆ°¾®¿ôÅÀ¤ò¤¢¤¤¤Þ¤¤¤Ê·Á¤Çª¤¨¤ë¤È¤¤¤¦ÅÀ¤Ï¡¢ÉâÆ°¾®¿ôÅÀ¤Î±é»»¤´¤È¤Ë·ë²Ì¤òÀµ³Î¤ËÄêµÁ¤¹¤ëɬÍפΤ¢¤ë IEEE ¥â¥Ç¥ë¤È¤Ï¤Þ¤Ã¤¿¤¯°Û¤Ê¤ë¤È¤³¤í¤Ç¤¹¡£
IEEE ¥â¥Ç¥ë¤Ç¤Ï¡¢(3.0/10.0) *10.0 ¤¬ 3 ¤Ë¤Ê¤ë¤³¤È¤ò¾ÚÌÀ (ÄêÍý 7) ¤Ç¤­¤Þ¤¹¤¬¡¢Brown ¤Î¥â¥Ç¥ë¤Ç¤Ï¤³¤ì¤ò¾ÚÌÀ¤Ç¤­¤Þ¤»¤ó¡£

ÂçÉôʬ¤Î¸À¸ìÄêµÁ¤Ë¸«¤é¤ì¤ë¤â¤¦ 1 ¤Ä¤Î¤¢¤¤¤Þ¤¤¤µ¤Ï¡¢¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¡¢¥¢¥ó¥À¡¼¥Õ¥í¡¼¡¢¤½¤Î¾¤ÎÎã³°¤¬µ¯¤­¤¿¤È¤­¤Î½èÍýÊýË¡¤Ë´Ø¤¹¤ë¤â¤Î¤Ç¤¹¡£IEEE ɸ½à¤Ç¤Ï¡¢Îã³°¤ÎÆ°ºî¤¬Àµ³Î¤Ë»ØÄꤵ¤ì¤ë¤Î¤Ç¡¢¤³¤Îɸ½à¤ò¥â¥Ç¥ë¤È¤·¤Æ»ÈÍѤ·¤¿¸À¸ì¤Ç¤Ï¡¢¤³¤ÎÅÀ¤Ë´Ø¤¹¤ë¤¢¤¤¤Þ¤¤¤µ¤ÎÌäÂê¤ò²óÈò¤Ç¤­¤Þ¤¹¡£

¤«¤Ã¤³¤Î²ò¼á¤Î»ÅÊý¤â¤¢¤¤¤Þ¤¤¤Ç¤¹¡£ÉâÆ°¾®¿ôÅÀ¿ô¤Ï´Ý¤á¸íº¹¤òȼ¤¦¤¿¤á¡¢Âå¿ô¤Î·ë¹çˡ§¤Ïɬ¤º¤·¤âÉâÆ°¾®¿ôÅÀ¿ô¤Ë¤ÏŬÍѤǤ­¤Þ¤»¤ó¡£Î㤨¤Ð¡¢x = 1030¡¢y = -1030¡¢
z = 1 ¤È¤·¤¿¾ì¹ç¤Î (x+y)+z ¤È x+(y+z) ¤Î²ò¤Ï¤Þ¤Ã¤¿¤¯°Û¤Ê¤ê¤Þ¤¹¡£Á°¼Ô¤Î¾ì¹ç¤Ï 1 ¤Ç¡¢¸å¼Ô¤Ï 0 ¤Ë¤Ê¤ê¤Þ¤¹¡£¤«¤Ã¤³¤ò»Ä¤¹¤³¤È¤Î½ÅÍ×À­¤Ï·è¤·¤Æ¶¯Ä´¤·¤¹¤®¤ë¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó¡£ÄêÍý 3¡¢4 ¤ª¤è¤Ó 6 ¤Ë¼¨¤·¤¿¥¢¥ë¥´¥ê¥º¥à¤Ï¤¹¤Ù¤Æ¡¢¤«¤Ã¤³¤Î°ÌÃ֤˰͸¤·¤Þ¤¹¡£Î㤨¤Ð¡¢ÄêÍý 6 ¤Î¸ø¼° xh = mx - (mx - x) ¤Ï¡¢¤â¤·¤«¤Ã¤³¤¬¤Ê¤±¤ì¤Ð xh = x ¤Ë¤Ê¤ê¡¢¥¢¥ë¥´¥ê¥º¥àÁ´ÂΤ¬Ìµ°ÕÌ£¤Ë¤Ê¤ê¤Þ¤¹¡£¤«¤Ã¤³¤Î°ÕÌ£¤òº½Å¤¹¤ëɬÍפΤʤ¤¸À¸ì¤ÎÄêµÁ¤Ï¡¢ÉâÆ°¾®¿ôÅÀ¤Î·×»»¤Ë¤Ï¤Û¤È¤ó¤É̵°ÕÌ£¤Ç¤¹¡£

Éôʬ¼°¤Îɾ²Á¤¬Àµ³Î¤ËÄêµÁ¤µ¤ì¤Ê¤¤¸À¸ì¤â¿ô¿¤¯¤¢¤ê¤Þ¤¹¡£²¾¤Ë ds ¤¬ÇÜÀºÅÙ¡¢x ¤È y ¤¬Ã±ÀºÅ٤Ǥ¢¤ë¤È²¾Äꤷ¤Þ¤¹¡£ds + x*y¤È¤¤¤¦¼°¤Ç¡¢ÀѤÏñÀºÅÙ¤ÈÇÜÀºÅ٤ΤɤÁ¤é¤Ç·×»»¤µ¤ì¤ë¤Î¤Ç¤·¤ç¤¦¡£¤Þ¤¿Ê̤ÎÎã¤Ç¡¢x + m/n (¤³¤³¤Ç m ¤È n ¤Ï¤È¤â¤ËÀ°¿ô ) ¤Î¼°¤ÏÀ°¿ô¤ÈÉâÆ°¾®¿ôÅÀ¿ô¤Î¤¤¤º¤ì¤Ç·×»»¤µ¤ì¤ë¤Î¤Ç¤·¤ç¤¦¡£¤³¤ÎÌäÂê¤Ë¤Ï 2 ¤Ä¤ÎÊýË¡¤ÇÂнè¤Ç¤­¤Þ¤¹¤¬¡¢¤¤¤º¤ì¤â´°Á´¤Ê²ò·èºö¤Ë¤Ï¤Ê¤ê¤Þ¤»¤ó¡£1 ¤Ä¤Ï¡¢¼°¤ÎÃæ¤ÎÊÑ¿ô¤ò¤¹¤Ù¤ÆƱ¤¸¥¿¥¤¥×¤È¤·¤Æ°·¤¦ÊýË¡¤Ç¤¹¡£¤³¤ì¤Ï´Êñ¤Ê²ò·èÊýË¡¤Ç¤¹¤¬¡¢·çÅÀ¤â¤¤¤¯¤Ä¤«¤¢¤ê¤Þ¤¹¡£¤Þ¤º¡¢Pascal ¤Î¤è¤¦¤Ê¸À¸ì¤Ç¤Ï¡¢ÉôʬÈϰϤΥ¿¥¤¥×¤Ë¤è¤Ã¤ÆÉôʬÈÏ°ÏÊÑ¿ô¤ÈÀ°¿ô¤ÎÊÑ¿ô¤òÊ»ÍѤǤ­¤ë¤Î¤Ç¡¢Ã±ÀºÅÙÊÑ¿ô¤ÈÇÜÀºÅÙÊÑ¿ô¤Îº®ÍѤò¶Ø»ß¤·¤Æ¤â¤Û¤È¤ó¤É°ÕÌ£¤¬¤¢¤ê¤Þ¤»¤ó¡£¤Þ¤¿¡¢Äê¿ô¤Ë´Ø¤¹¤ëÌäÂê¤â¤¢¤ê¤Þ¤¹¡£0.1*x ¤È¤¤¤¦¼°¤Î¾ì¹ç¡¢¤Û¤È¤ó¤É¤Î¸À¸ì¤Ç¤Ï 0.1 ¤¬Ã±ÀºÅÙ¤ÎÄê¿ô¤È²ò¼á¤µ¤ì¤Þ¤¹¡£¤³¤³¤Ç²¾¤Ë¡¢¥×¥í¥°¥é¥Þ¤¬ÉâÆ°¾®¿ôÅÀÊÑ¿ô¤ÎÀë¸À¤ò¤¹¤Ù¤Æ¡¢Ã±ÀºÅÙ¤«¤éÇÜÀºÅÙ¤ËÊѹ¹¤·¤è¤¦¤È¹Í¤¨¤¿¤È¤·¤Þ¤¹¡£0.1 ¤ò¤½¤Î¤Þ¤ÞñÀºÅÙÄê¿ô¤È¤·¤Æ°·¤¦¤È¡¢¥³¥ó¥Ñ¥¤¥ë»þ¤Ë¥¨¥é¡¼¤Ë¤Ê¤ê¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢¥×¥í¥°¥é¥Þ¤ÏÉâÆ°¾®¿ôÅÀÄê¿ô¤ò¤¹¤Ù¤Æõ¤·¤Æ¡¢¤³¤ì¤òÊѹ¹¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£

2 ¤ÄÌܤΥ¢¥×¥í¡¼¥Á¤Ï¡¢¼°¤Îº®ÍѤòǧ¤á¤ë¤³¤È¤Ë¤è¤ê¡¢Éôʬ¼°¤Îɾ²Á¤Ë´Ø¤¹¤ë¥ë¡¼¥ë¤òÄ󶡤¹¤ëÊýË¡¤Ç¤¹¡£¤³¤ì¤Ë¤Ï»²¹Í¤Ë¤Ê¤ëÎ㤬¤¤¤¯¤Ä¤«¤¢¤ê¤Þ¤¹¡£C ¸À¸ìËÜÍè¤ÎÄêµÁ¤Ç¤Ï¡¢ÉâÆ°¾®¿ôÅÀ¼°¤Ï¤¹¤Ù¤ÆÇÜÀºÅ٤Ƿ׻»¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó (Kernighan/Ritchie¡¢1978)¡£¤³¤Î¾ò·ï¤Ï¡¢Ëܹà¤ÎºÇ½é¤Ë¾Ò²ð¤·¤¿Îã¤Î¤è¤¦¤ÊÊк¹¤ò¤â¤¿¤é¤¹¸¶°ø¤È¤Ê¤ê¤Þ¤¹¡£
3.0/7.0 ¤ÏÇÜÀºÅ٤Ƿ׻»¤µ¤ì¤Þ¤¹¤¬¡¢q ¤¬Ã±ÀºÅÙÊÑ¿ô¤Î¾ì¹ç¡¢¾¦¤ÏñÀºÅ٤˴ݤá¤Æ³ÊǼ¤µ¤ì¤Þ¤¹¡£3/7 ¤Ï 2 ¿Ê¤Î½Û´Ä¾®¿ô¤Ë¤Ê¤ë¤Î¤Ç¡¢ÇÜÀºÅ٤ˤè¤ë·×»»Ãͤϡ¢Ã±ÀºÅ٤dzÊǼ¤µ¤ì¤¿ÃͤȤϰìÃפ·¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢q = 3/7¤Î·×»»¤Ï¼ºÇÔ¤·¤Þ¤¹¡£¤³¤ì¤Ï¡¢¤¹¤Ù¤Æ¤Î¼°¤òºÇ¤â¹â¤¤ÀºÅ٤Ƿ׻»¤·¤Æ¤âɬ¤º¤·¤â¸ú²ÌŪ¤Ç¤Ï¤Ê¤¤¤³¤È¤ò¼¨¤¹¤â¤Î¤Ç¤¹¡£

¤â¤¦ 1 ¤Ä¤ÎÎã¤ÏÆâÀѤ˴ؤ¹¤ë¤â¤Î¤Ç¤¹¡£ÆâÀѤË¿¿ô¤Î¹à¤¬´Þ¤Þ¤ì¤ë¾ì¹ç¡¢Ï¤δݤá¸íº¹¤¬Â礭¤¯¤Ê¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£¤³¤Î´Ý¤á¸íº¹¤ò¸º¾¯¤µ¤»¤ëÊýË¡¤È¤·¤Æ¡¢ÇÜÀºÅÙ¤ÎϤòÎßÀѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹ (¤³¤ÎÊýË¡¤Ë¤Ä¤¤¤Æ¤Ï¡¢¡ÖºÇŬ²½¥×¥í¥°¥é¥à¡×¤Ç¾Ü¤·¤¯ÀâÌÀ¤·¤Æ¤¤¤Þ¤¹)¡£d ¤¬ÇÜÀºÅÙÊÑ¿ô¤Ç¡¢x[] ¤È y[] ¤¬Ã±ÀºÅÙÇÛÎó¤Î¾ì¹ç¡¢ÆâÀѤΥ롼¥×¤Ï d = d + x[i]*y[i] ¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£Ã±ÀºÅ٤Ǿ軻¤ò¹Ô¤¦¤È¡¢ÇÜÀºÅÙÊÑ¿ô¤ËÄɲ乤ëľÁ°¤ËÀѤ¬Ã±ÀºÅÙ¤ËÀÚ¤ê¼Î¤Æ¤é¤ì¤ë¤Î¤Ç¡¢ÇÜÀºÅ٤ˤè¤ëÎßÀѤÎÍøÅÀ¤¬ÆÀ¤é¤ì¤Þ¤»¤ó¡£

Á°¤Î 2 ¤Ä¤ÎÎã¤ËŬÍѤµ¤ì¤ë¥ë¡¼¥ë¤Ï¡¢¤¢¤ë¼°¤Î¤¢¤é¤æ¤ëÊÑ¿ôÃæ¤ÇºÇ¤â¹â¤¤ÀºÅ٤Ƿ׻»¤¹¤ë¤È¤¤¤¦¤â¤Î¤Ç¤¹¡£¤½¤¦¤¹¤ë¤È¡¢ q = 3.0/7.0 Á´ÂΤ¬Ã±ÀºÅ٤Ƿ׻»¤µ¤ì24¡¢¿¿¤ÎÏÀÍýÃͤ¬Í¿¤é¤ì¤Þ¤¹¡£°ìÊý¡¢d = d + x[i]*y[i] ¤ÏÇÜÀºÅ٤Ƿ׻»¤µ¤ì¤ë¤Î¤Ç¡¢ÇÜÀºÅÙ¤ÎÎßÀѤˤè¤ëÍøÅÀ¤¬Á´ÌÌŪ¤ËÀ¸¤«¤µ¤ì¤Þ¤¹¡£¤¿¤À¤·¡¢¤³¤Î¥ë¡¼¥ë¤Ï¤¢¤é¤æ¤ë¥±¡¼¥¹¤Ë¤½¤Î¤Þ¤ÞŬÍѤǤ­¤ë¤ï¤±¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£dx ¤È dy ¤¬ÇÜÀºÅÙÊÑ¿ô¤Î¾ì¹ç¡¢y = x + single (dx-dy) ¤Î¼°¤Ë¤ÏÇÜÀºÅÙ¤ÎÊÑ¿ô¤¬´Þ¤Þ¤ì¤Þ¤¹¤¬¡¢¥ª¥Ú¥é¥ó¥É¤¬Î¾Êý¤È¤âñÀºÅ٤Ǥ¢¤ë¤³¤È¤Ë²Ã¤¨¡¢·ë²Ì¤âñÀºÅ٤ˤʤë¤Î¤Ç¡¢ÇÜÀºÅÙ¤ÇϤòµá¤á¤Æ¤â°ÕÌ£¤¬¤¢¤ê¤Þ¤»¤ó¡£

¤µ¤é¤ËÊ£»¨¤ÊÉôʬ¼°¤Ë´Ø¤¹¤ëɾ²Á¥ë¡¼¥ë¤Ï¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£¤Þ¤º¡¢¤½¤ì¤¾¤ì¤ÎÁàºî¤ËÂФ·¡¢²¾¤ÎÀºÅ٤Ȥ·¤ÆÂбþ¤¹¤ë¥ª¥Ú¥é¥ó¥É¤ÎºÇ¤â¹â¤¤ÀºÅÙ¤ò³ä¤êÅö¤Æ¤Þ¤¹¡£¤³¤Î³ä¤êÅö¤Æ¤Ï¡¢¼°¤Î¥Ä¥ê¡¼¹½Â¤¤ÇÍÕ¤ÎÉôʬ¤«¤éº¬¤ÎÊý¸þ¤Ë¹Ô¤¤¤Þ¤¹¡£¼¡¤Ë¡¢º¬¤«¤éÍÕ¤ÎÊý¸þ¤ËÆ󼡥ѥ¹¤òÀßÄꤷ¤Þ¤¹¡£¤³¤Î¥Ñ¥¹¤Ç¤Ï¡¢³ÆÁàºî¤ËºÇ¹â¤ÎÀºÅ٤ȡ¢¿Æ¤«¤éÍ׵ᤵ¤ì¤ëÀºÅÙ¤ò²¾¤Ë³ä¤êÅö¤Æ¤Þ¤¹¡£q = 3.0/7.0 ¤Î¾ì¹ç¡¢ÍÕ¤ÎÉôʬ¤ÏñÀºÅ٤ˤʤë¤Î¤Ç¡¢Áàºî¤Ï¤¹¤Ù¤ÆñÀºÅ٤Ǽ¹Ԥµ¤ì¤Þ¤¹¡£d = d + x[i]*y[i] ¤Î¾ì¹ç¤Ï¡¢¾è»»¤Î°ì»þŪ¤ÊÀºÅÙ¤¬Ã±ÀºÅ٤ˤʤê¤Þ¤¹¤¬¡¢Æ󼡥ѥ¹¤Ç¤Ï¿Æ¤ÎÁàºî¤«¤éÇÜÀºÅÙ¥ª¥Ú¥é¥ó¥É¤¬Í׵ᤵ¤ì¤ë¤Î¤ÇÇÜÀºÅ٤˾º³Ê¤·¤Þ¤¹¡£y = x + single (dx-dy) ¤Ç¤Ï¡¢²Ã»»¤¬Ã±ÀºÅ٤Ǽ¹Ԥµ¤ì¤Þ¤¹¡£Farnum (1988) ¤Î»ñÎÁ¤Ç¤Ï¡¢¤³¤Î¥¢¥ë¥´¥ê¥º¥à¤Î¥¤¥ó¥×¥ê¥á¥ó¥È¤¬¤½¤ì¤Û¤ÉÆñ¤·¤¯¤Ê¤¤¤³¤È¤¬¼Â¾Ú¤µ¤ì¤Æ¤¤¤Þ¤¹¡£

¤³¤Î¥ë¡¼¥ë¤Î·çÅÀ¤Ï¡¢Éôʬ¼°¤Îɾ²Á¤¬¡¢Ãæ¤ËÁȤ߹þ¤Þ¤ì¤¿¼°¤Ë°Í¸¤¹¤ëÅÀ¤Ë¤¢¤ê¤Þ¤¹¡£¤³¤ì¤Ï¡¢Ê£»¨¤Ê¥·¡¼¥±¥ó¥¹¤Î¸¶°ø¤Ë¤Ê¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£Î㤨¤Ð¡¢¥×¥í¥°¥é¥à¤Î¥Ç¥Ð¥Ã¥°ºî¶È¤ò¹Ô¤Ê¤Ã¤Æ¤¤¤ë¤È¤­¤Ë¡¢Éôʬ¼°¤ÎÃͤò³Îǧ¤·¤¿¤¤¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢¥×¥í¥°¥é¥àÃæ¤ÎÉôʬ¼°¤Ï¡¢¤³¤ì¤¬ÁȤ߹þ¤Þ¤ì¤¿¼°¤Ë°Í¸¤¹¤ë¤Î¤Ç¡¢Ã±¤Ë¥Ç¥Ð¥Ã¥¬¤ËÉôʬ¼°¤òÆþÎϤ·¤Æɾ²Á¤¹¤ë¤è¤¦¤Ë»Ø¼¨¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£ºÇ¸å¤Ë¡¢Éôʬ¼°¤Ë¤Ï¼¡¤ÎÌäÂ꤬¤¢¤ê¤Þ¤¹¡£10 ¿Ê¿ôÄê¿ô¤«¤é 2 ¿Ê¿ôÄê¿ô¤Ø¤ÎÊÑ´¹¤â 1 ¤Ä¤Î±é»»¤È¤Ê¤ë¤Î¤Ç¡¢É¾²Á¥ë¡¼¥ë¤â 10 ¿Ê¿ôÄê¿ô¤Î²ò¼á¤Ë±Æ¶Á¤òÍ¿¤¨¤ë¤È¤¤¤¦¤³¤È¤Ç¤¹¡£¤³¤ì¤Ï 0.1 ¤Î¤è¤¦¤Ë 2 ¿Ê¿ô¤Ç¤ÏÀµ³Î¤Ëɽ¸½¤Ç¤­¤Ê¤¤Äê¿ô¤Î¾ì¹ç¤ËÆä˽ÅÍפˤʤê¤Þ¤¹¡£

¤½¤Î¾¡¢ÁȤ߹þ¤Þ¤ì¤Æ¤¤¤ëÆ°ºî¤Î 1 ¤Ä¤È¤·¤Æ¸À¸ì¤Ë»Ø¿ô¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¤â¡¢¤¢¤¤¤Þ¤¤¤µ¤¬¸½¤ì¤Þ¤¹¡£´ðËÜŪ¤Ê»Í§±é»»¤Î¾ì¹ç¤È¤Ï°Û¤Ê¤ê¡¢»Ø¿ô¤ÎÃͤÏɬ¤º¤·¤âÌÀ³Î¤Ë¤Ïɽ¸½¤µ¤ì¤Ê¤¤¾ì¹ç¤¬¤¢¤ê¤Þ¤¹ (Kahan/Coonen¡¢1982)¡£** ¤¬»Ø¿ô´Ø¿ô¤Î±é»»»Ò¤Ç¤¢¤ë¾ì¹ç¡¢(-3) **3 ¤ÎÃÍ¤Ï -27 ¤È¤Ê¤ê¤Þ¤¹¡£¤¿¤À¤· (-3.0) **3.0 ¤Ê¤É¤Î¾ì¹ç¤ÏÌäÂê¤Ë¤Ê¤ê¤Þ¤¹¡£** ±é»»»Ò¤¬À°¿ô¤Î¤Ù¤­¾è¤ò¥Á¥§¥Ã¥¯¤¹¤ë¤È¡¢(-3.0 ) **3.0 ¤ò
-3.03 = -27 ¤È¤·¤Æ·×»»¤·¤Þ¤¹¡£°ìÊý¡¢xy = eylogx ¤Î¸ø¼°¤ò»ÈÍѤ·¤Æ¼ÂºÝ¤Î°ú¿ô¤Ë ** ¤òÄêµÁ¤¹¤ë¤È¡¢log ´Ø¿ô¤Ë¤è¤Ã¤Æ·ë²Ì¤¬ NaN (x < 0 ¤Î¤È¤­ log(x) = NaN ¤È¤¤¤¦ÄêµÁ¤Ë¤â¤È¤Å¤¯) ¤Ë¤Ê¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤Ë FORTRAN ¤Î CLOG ´Ø¿ô¤ò»ÈÍѤ¹¤ë¤È¡¢ANSI FORTRAN ¤Îɸ½à¤Ë¤è¤ê¡¢CLOG (-3.0) ¤¬ i¦Ð + log 3 (ANSI 1978) ¤ÈÄêµÁ¤µ¤ì¤ë¤Î¤Ç¡¢²ò¤Ï -27 ¤Ë¤Ê¤ê¤Þ¤¹¡£Ada ¸À¸ì¤Ç¤Ï¡¢À°¿ô¤Î¤Ù¤­¾è¤Ë¸Â¤Ã¤Æ»Ø¿ô¤òÄêµÁ¤¹¤ë¤³¤È¤Ë¤è¤ê¡¢¤³¤ÎÌäÂê¤ò²óÈò¤·¤Æ¤¤¤Þ¤¹¡£°ìÊý¡¢ANSI FORTRAN ¤Ç¤Ï¡¢Éé¿ô¤ò¼ÂºÝ¤Î¾è¿ô¤Ç¤Ù¤­¾è¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£

FORTRAN¤Îɸ½à¤Ç¤Ï¡¢¼¡¤Î¤è¤¦¤Ëµ¬Äꤵ¤ì¤Þ¤¹¡£

¡Ö·ë²Ì¤ò¿ô³ØŪ¤ËÄêµÁ¤Ç¤­¤Ê¤¤»»½Ñ±é»»¤Ï¶Ø»ß¤µ¤ì¤ë¡×

¤·¤«¤·¡¢IEEE ɸ½à¤Ë¡Þ ¤È¤¤¤¦³µÇ°¤¬Æ³Æþ¤µ¤ì¤¿¤³¤È¤Ë¤è¤ê¡¢¡Ö¿ô³ØŪ¤ËÄêµÁ¤Ç¤­¤Ê¤¤¡×¤È¤¤¤¦É½¸½¤Ï¤Þ¤Ã¤¿¤¯°ÕÌ£¤ò¤Ê¤µ¤Ê¤¯¤Ê¤ê¤Þ¤·¤¿¡£1 ¤Ä¤ÎÄêµÁ¤È¤·¤Æ¡¢¡Ö̵¸ÂÂç¡×¤Ë¼¨¤·¤¿ÊýË¡¤òŬÍѤǤ­¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢ab ¤ÎÃͤò·èÄꤹ¤ë¾ì¹ç¤Ë¡¢
x ¢ª 0 ¤Ë½¾¤Ã¤Æ¤½¤ì¤¾¤ì f(x) ¢ª a¡¢g(x) ¢ª b ¤È¤¤¤¦ÆÃÀ­¤ò»ý¤ÄÈóÄê¿ô¤Î²òÀÏ´Ø¿ô f ¤È g ¤ÎÎã¤ò¹Í¤¨¤Æ¤ß¤Þ¤¹¡£f(x)g(x) ¤Ï¤Ä¤Í¤ËƱ¤¸¶Ë¸Â¤Ë¶á¤Å¤¯¤È¤¹¤ì¤Ð¡¢¤³¤ì¤¬ ab ¤ÎÃͤȤʤê¤Þ¤¹¡£¤³¤ÎÄêµÁ¤Ë¤è¤ê¡¢2· = ¤¬À®Î©¤·¤Þ¤¹¡£1.0· ¤Î¾ì¹ç¡¢f(x) = 1¡¢g(x) = 1/x ¤Î¤È¤­¤Ë¡¢¸Â³¦¤Ï 1 ¤Ë¶á¤Å¤­¤Þ¤¹¤¬¡¢f(x) = 1 - x¡¢g(x) = 1/x ¤Î¤È¤­¤Ï¸Â³¦¤¬ e-1 ¤È¤Ê¤ê¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢1.0· ¤Ï NaN ¤È¤Ê¤ê¤Þ¤¹¡£¤Þ¤¿ 0 0 ¤Î¾ì¹ç¤Ï¡¢f(x)g(x) = eg(x)log f(x) ¤È¤Ê¤ê¤Þ¤¹¡£f ¤È g ¤Ï²òÀÏ´Ø¿ô¤Ê¤Î¤Ç¡¢0¡¢f(x) = a 1x1 + a 2x2 + ...¡¢¤ª¤è¤Ó
g(x) = b 1x1 + b 2x2 + ... ¤Î¤È¤­ÃÍ 0 ¤ò¼è¤ê¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢
limx ® 0g(x) log f(x) = limx ® 0x log (x(a 1 + a 2x + ...) ) = limx ® 0x log(a 1x) = 0 ¤Ë¤Ê¤ê¤Þ¤¹¡£¤µ¤é¤Ë¤¹¤Ù¤Æ¤Î f ¤È g ¤ËÂФ·¤Æ¡¢f(x)g(x) ¢ª e0 = 1 ¤È¤Ê¤ê¤Þ¤¹¡£¤¹¤Ê¤ï¤Á 0 0 = 1 ¤Ë¤Ê¤ê¤Þ¤¹ 25 26¡£¤³¤ÎÄêµÁ¤ò»ÈÍѤ¹¤ë¤È¡¢¤¹¤Ù¤Æ¤Î°ú¿ô¤ËÂФ¹¤ë»Ø¿ô´Ø¿ô¤ÎÄêµÁ¤¬¤¢¤¤¤Þ¤¤¤Ë¤Ê¤ê¤Þ¤¹¡£ÆÃ¤Ë (-3.0) **3.0 ¤Ï -27 ¤ÈÄêµÁ¤µ¤ì¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£

IEEE ɸ½à

Àè¤Î¡ÖIEEE ɸ½à¡×¤Ç¤Ï¡¢IEEE ɸ½à¤Î¼ç¤ÊÆÃŤˤĤ¤¤ÆÀâÌÀ¤·¤Þ¤·¤¿¡£¤·¤«¤· IEEE ɸ½à¤Ç¤Ï¡¢¤³¤ì¤é¤ÎÆÃŤò¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤«¤éÍøÍѤǤ­¤ë¤«¤Ë¤Ä¤¤¤Æ¤Ï²¿¤âÊݾڤµ¤ì¤Æ¤¤¤Þ¤»¤ó¡£¤·¤¿¤¬¤Ã¤Æ¡¢¤³¤Îɸ½à¤ò¥µ¥Ý¡¼¥È¤¹¤ëÉâÆ°¾®¿ôÅÀ¥Ï¡¼¥É¥¦¥§¥¢¤È¡¢C¡¢Pascal¡¢FORTRAN ¤Ê¤É¤Î¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤Î´Ö¤ËÉÔ°ìÃפ¬À¸¤¸¤ë¤Î¤Ï¤è¤¯¤¢¤ë¤³¤È¤Ç¤¹¡£IEEE ¤Îµ¡Ç½¤Ë¤è¤Ã¤Æ¤Ï¡¢¥µ¥Ö¥ë¡¼¥Á¥ó¡¦¥é¥¤¥Ö¥é¥ê¤Î¸Æ¤Ó½Ð¤·¤Ë¤è¤Ã¤Æ¥¢¥¯¥»¥¹¤Ç¤­¤ë¤â¤Î¤â¤¢¤ê¤Þ¤¹¡£Î㤨¤Ð¡¢IEEE ɸ½à¤Ë¤Ï¡¢Ê¿Êýº¬¤ÏÀµ³Î¤Ë´Ý¤á¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤È¤¤¤¦¾ò·ï¤¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤ËÂбþ¤·¤Æ¡¢Ê¿Êýº¬´Ø¿ô¤¬¥Ï¡¼¥É¥¦¥§¥¢¾å¤ÇľÀÜ¥¤¥ó¥×¥ê¥á¥ó¥È¤µ¤ì¤Æ¤¤¤ë¤³¤È¤¬¤è¤¯¤¢¤ê¤Þ¤¹¡£¤³¤Îµ¡Ç½¤Ë¤Ï¡¢¥é¥¤¥Ö¥é¥ê¤Ë¤¢¤ëÊ¿Êýº¬¥ë¡¼¥Á¥ó¤ò»ÈÍѤ·¤Æ´Êñ¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤·¤«¤·¡¢É¸½à¤ÎÆÃÀ­¤Ë¤è¤Ã¤Æ¤Ï¡¢¥µ¥Ö¥ë¡¼¥Á¥ó¤Ç¤Ï´Êñ¤Ë¥¤¥ó¥×¥ê¥á¥ó¥È¤Ç¤­¤Ê¤¤¤â¤Î¤â¤¢¤ê¤Þ¤¹¡£Î㤨¤Ð¡¢¥³¥ó¥Ô¥å¡¼¥¿¸À¸ì¤Ç¤Ï¤Û¤È¤ó¤É¤Î¾ì¹ç¡¢ÉâÆ°¾®¿ôÅÀ¤Î¥¿¥¤¥×¤Ï 2 ¼ïÎàÄøÅÙ¤·¤«¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó¡£°ìÊý¡¢IEEE ɸ½à¤Ç¤Ï¡¢4 ¼ïÎà¤ÎÀºÅÙ¤¬ÍÑ°Õ¤µ¤ì¤Æ¤¤¤Þ¤¹ (¤³¤Î¤¦¤Á¡¢¿ä¾©¤µ¤ì¤ë¤Î¤ÏñÀºÅ٤˳ÈÄ¥¤ò²Ã¤¨¤¿³ÈĥñÀºÅÙ¥Õ¥©¡¼¥Þ¥Ã¥È¡¢Ã±ÀºÅÙ¡¢ÇÜÀºÅÙ¡¢³ÈÄ¥ÇÜÀºÅÙ¥Õ¥©¡¼¥Þ¥Ã¥È¤Ç¤¹)¡£¤³¤ì°Ê³°¤Ë¡¢Ìµ¸ÂÂç¤Î°·¤¤¤È¤¤¤¦ÌäÂê¤â¤¢¤ê¤Þ¤¹¡£¡Þ ¤òɽ¤ï¤¹Äê¿ô¤Ï¡¢¥µ¥Ö¥ë¡¼¥Á¥ó¤«¤é¶¡µë¤Ç¤­¤Þ¤¹¡£¤¿¤À¤·¡¢°ìÄê¤ÎÊÑ¿ô¤Î¥¤¥Ë¥·¥ã¥é¥¤¥¶¤È¤·¤ÆÄê¿ô¼°¤¬Í׵ᤵ¤ì¤ë¾õ¶·¤Ç¤Ï¡¢¤³¤ÎÄê¿ô¤¬»ÈÍѤǤ­¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£

¤µ¤é¤ËÈù̯¤Ê¾õ¶·¤È¤·¤Æ¡¢´Ý¤á¥â¡¼¥É¡¢¥È¥é¥Ã¥×¡¦¥¤¥Í¡¼¥Ö¥ë¡¦¥Ó¥Ã¥È¡¢¥È¥é¥Ã¥×¥Ï¥ó¥É¥é¡¢¤ª¤è¤ÓÎã³°¥Õ¥é¥°¤Ç¹½À®¤µ¤ì¤ë¾õÂ֤Ƿ׻»¤òȼ¤¦Áàºî¤¬¤¢¤²¤é¤ì¤Þ¤¹¡£1 ¤Ä¤Î¥¢¥×¥í¡¼¥Á¤Ï¡¢¾õÂÖ¤òÆɤ߼è¤ê¤Þ¤¿¤Ï½ñ¤­¹þ¤ß¤¹¤ë¤¿¤á¤Î¥µ¥Ö¥ë¡¼¥Á¥ó¤òÍÑ°Õ¤¹¤ë¤³¤È¤Ç¤¹¡£¤µ¤é¤Ë¡¢¿·¤·¤¤Ãͤò¼«Æ°Åª¤Ë¥»¥Ã¥È¤·¡¢¤â¤È¤ÎÃͤòÊÖ¤¹Áàºî¤ò 1 ²ó¤ÎÁàºî¤Ç½èÍý¤Ç¤­¤ë¸Æ¤Ó½Ð¤·¤âÊØÍø¤Ê¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£¡Ö¥Õ¥é¥°¡×¤ËÀâÌÀ¤·¤¿¤È¤ª¤ê¡¢IEEE ¤Î¾õÂÖ¤ò½¤Àµ¤¹¤ë¤¿¤á¤Î°ìÈÌŪ¤Ê¥Ñ¥¿¡¼¥ó¤Ï¡¢¥Ö¥í¥Ã¥¯¡¢¤Þ¤¿¤Ï¥µ¥Ö¥ë¡¼¥Á¥ó¤ÎÈϰϤ˸¤äơ¢¤½¤Î¾õÂÖ¤òÊѹ¹¤¹¤ë¤³¤È¤Ç¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢¥×¥í¥°¥é¥Þ¦¤Ë¤Ï¡¢¥Ö¥í¥Ã¥¯¤Î½Ð¸ý¤òÃà°ì¡¢Ãµ¤·½Ð¤¹Ééô¤È¡¢¾õÂÖ¤¬Éü¸µ¤µ¤ì¤¿¤³¤È¤ò³Îǧ¤¹¤ëºî¶È¤¬Áý¤¨¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢¾õÂÖ¤ò¥Ö¥í¥Ã¥¯¤ÎÈÏ°ÏÆâ¤ËÀµ¤·¤¯ÀßÄê¤Ç¤­¤ë¸À¸ì¤ÏÈó¾ï¤ËÊØÍø¤Ç¤¹¡£Modeula-3 ¤Ï¡¢¥È¥é¥Ã¥×¥Ï¥ó¥É¥é¤Ë¤³¤Î³µÇ°¤òŬÍѤ·¤¿¸À¸ì¤Ç¤¹ (Nelson¡¢1991)¡£

¸À¸ì¤ÎÃæ¤Ç IEEE ɸ½à¤ò¥¤¥ó¥×¥ê¥á¥ó¥È¤¹¤ë¤È¤­¤Ë¤Ï¡¢¹Íθ¤¹¤Ù¤­ÅÀ¤¬¤¤¤¯¤Ä¤«¤¢¤ê¤Þ¤¹¡£¤¢¤é¤æ¤ë x ¤Ë¤Ä¤¤¤Æ x - x = +0 ¤È¤Ê¤ë¤Î¤Ç27¡¢(+0) - (+0) = +0 ¤È¤Ê¤ê¤Þ¤¹¡£
¤¿¤À¤·¡¢- (+0) = -0 ¤È¤Ê¤ë¤Î¤Ç¡¢-x ¤Ï 0 - x ¤È¤·¤ÆÄêµÁ¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£NaN ¤Ï¡¢Ê̤ΠNaN ¤Î¾ì¹ç¤â´Þ¤á¡¢Æ±¤¸ÃͤˤϷ褷¤Æ¤Ê¤é¤Ê¤¤¤Î¤Ç¡¢x = x ¤¬É¬¤º¤·¤â¿¿¤Ë¤Ï¤Ê¤é¤Ê¤¤¤È¤¤¤¦Íýͳ¤«¤é¡¢NaN ¤òƳÆþ¤¹¤ë¤³¤È¤Ïº®Íð¤Î¸¶°ø¤Ë¤Ê¤ê¤Þ¤¹¡£IEEE ¤Ç Isnan ´Ø¿ô¤ò»ÈÍѤ·¤Ê¤¤¤è¤¦¤Ë¿ä¾©¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¼ÂºÝ¤Ë¡¢x ¡â x ¤Î¼°¤Ï NaN ¤ò¥Æ¥¹¥È¤¹¤ëºÇ¤â´Êñ¤ÊÊýË¡¤Ç¤¹¡£¤Þ¤¿ NaN ¤Ï¤Û¤«¤Î¿ô¤È¤Î½ç½ø¤Ë´ØÏ¢À­¤¬¤Ê¤¤¤Î¤Ç¡¢x ¡å y ¤òÈó x > y ¤È¤·¤ÆÄêµÁ¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤»¤ó¡£NaN ¤òƳÆþ¤¹¤ë¤È¡¢ÉâÆ°¾®¿ôÅÀ¿ô¤¬ÉôʬŪ¤Ë½ç½øÉÕ¤±¤é¤ì¤ë¤Î¤Ç¡¢<¡¢=¡¢>¡¢¤Þ¤¿¤Ï unordered ¤Î¤¤¤º¤ì¤«¤òÊÖ¤¹ compare ´Ø¿ô¤Ë¤è¤ê¡¢¥×¥í¥°¥é¥Þ¤ÏÈæ³Ó½èÍý¤ò´Êñ¤Ë¼Â¹Ô¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£

IEEE ɸ½à¤Ç¤Ï¡¢¤¤¤º¤ì¤«¤Î¥ª¥Ú¥é¥ó¥É¤¬ NaN ¤Î¾ì¹ç¤Ë¡¢NaN ¤òÊÖ¤¹´ðËÜŪ¤ÊÉâÆ°¾®¿ôÅÀÁàºî¤òÄêµÁ¤·¤Æ¤¢¤ê¤Þ¤¹¤¬¡¢Ê£¹çÁàºî¤Î¾ì¹ç¤Ë¤Ï¡¢¤³¤ÎÄêµÁ¤¬É¬¤º¤·¤âÍ­¸ú¤Ë¤Ê¤ë¤È¤Ï¸Â¤ê¤Þ¤»¤ó¡£¥°¥é¥Õ¤ò¥×¥í¥Ã¥È¤¹¤ë¤È¤­¤Ë»ÈÍѤ¹¤ëÇÜΨ¤òµá¤á¤ë¾ì¹ç¡¢°ìÏ¢¤ÎÃͤκÇÂçÃͤò·×»»¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢ºÇÂçÃͤÎÁàºî¤Çñ¤Ë NaN ¤ò̵»ë¤¹¤ì¤Ð¡¢°ÕÌ£¤¬¤¢¤ê¤Þ¤¹¡£

ºÇ¸å¤Ë¡¢´Ý¤á¤ÎÁàºî¤¬ÌäÂê¤Ë¤Ê¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£IEEE ɸ½à¤Ç¤Ï¡¢´Ý¤áÁàºî¤¬¸·Ì©¤ËÄêµÁ¤µ¤ì¤Æ¤ª¤ê¡¢¤³¤ì¤Ï´Ý¤á¥â¡¼¥É¤Î¸½ºß¤ÎÃͤ˰͸¤·¤Þ¤¹¡£´Ý¤á¥â¡¼¥É¤Ï¡¢·¿ÊÑ´¹¤Ë¤ª¤±¤ë°ÅÌۤδݤá¤ä¡¢¸À¸ìÃæ¤ÎÌÀ¼¨Åª¤Ê round ´Ø¿ô¤È¶¥¹ç¤¹¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£¤¹¤Ê¤ï¤ÁIEEE ¤Î´Ý¤á¤ò»ÈÍѤ¹¤ë¥×¥í¥°¥é¥à¤Ç¤Ï¡¢¼«Á³¸À¸ì¤Î¥×¥ê¥ß¥Æ¥£¥Ö¤ò»ÈÍѤǤ­¤º¡¢°ìÊý¡¢¸À¸ì¤Î¥×¥ê¥ß¥Æ¥£¥Ö¤Ï¡¢¤·¤À¤¤¤ËÉáµÚ¤Î¹­¤¬¤ë IEEE ¥Þ¥·¥ó¤Ç¥¤¥ó¥×¥ê¥á¥ó¥È¤¹¤ë¤Ë¤ÏÉÔ½½Ê¬¤È¤¤¤¦¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£

ºÇŬ²½¥×¥í¥°¥é¥à

¥³¥ó¥Ñ¥¤¥é¤Ë´Ø¤¹¤ë²òÀâ½ñ¤Ï¡¢ÉâÆ°¾®¿ôÅÀ¤Ë´Ø¤¹¤ëÌäÂê¤ò̵»ë¤¹¤ë·¹¸þ¤¬¤¢¤ë¤è¤¦¤Ç¤¹¡£Î㤨¤Ð¡¢Aho¤é (1986) ¤Ï¡¢x/2.0 ¤ò x*0.5 ¤ËÃÖ¤­´¹¤¨¤ë¤³¤È¤Ë¤è¤ê¡¢ÆɼԤÏ
x/10.0 ¤â 0.1*x ¤ËÃÖ¤­´¹¤¨¤ë¤â¤Î¤È²ò¼á¤·¤Æ¤·¤Þ¤¤¤Þ¤¹¡£¤·¤«¤·¡¢¤³¤ì¤é¤Î¼°¤Ï¡¢
0.1 ¤ò 2 ¿Ê¿ô¤ÇÀµ³Î¤Ëɽ¸½¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¤Î¤Ç¡¢2 ¿Ê¿ô¥Þ¥·¥ó¤Ç¤ÏƱ¤¸¥»¥Þ¥ó¥Æ¥£¥¯¥¹¤Ë¤Ï¤Ê¤ê¤Þ¤»¤ó¡£Ëܽñ¤Ç¤Ï¡¢x*y - x*z ¤ò x*(y-z) ¤ÈÃÖ¤­´¹¤¨¤ë¤³¤È¤ò¤ª´«¤á¤·¤Þ¤¹¡£¤³¤ì¤Ï¡¢y  z ¤Î¤È¤­¤Ë¡¢²¾¤Ë 2 ¤Ä¤Î¼°¤¬¤Þ¤Ã¤¿¤¯°Û¤Ê¤ëÃͤò»ý¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ç¤â¤¢¤Æ¤Ï¤Þ¤ê¤Þ¤¹¡£ºÇŬ²½¥×¥í¥°¥é¥à¤¬¸À¸ì¤ÎÄêµÁ¤Ë°ãÈ¿¤·¤Æ¤Ï¤Ê¤é¤Ê¤¤¤È¤¤¤¦¾ò·ï¤Ï¡¢¥³¡¼¥É¤òºÇŬ²½¤¹¤ë¤È¤­¤Ï¡¢¤É¤Î¤è¤¦¤ÊÂå¿ôñ°Ì¸µ¤Ç¤â»ÈÍѤǤ­¤ë¤È¤¤¤¦µ­½Ò¤ò³Î¤«¤ËÀµÅö²½¤¹¤ë¤â¤Î¤Ç¤¹¤¬¡¢¤½¤ÎÈ¿ÌÌ¡¢ÉâÆ°¾®¿ôÅÀ¤Î¥»¥Þ¥ó¥Æ¥£¥¯¥¹¤Ï¤½¤ì¤Û¤É½ÅÍפǤϤʤ¤¤È¤¤¤¦°õ¾Ý¤âÍ¿¤¨¤Þ¤¹¡£¸À¸ì¤Îɸ½à¤Ç¤«¤Ã¤³¤Î°ÌÃÖ¤òº½Å¤¹¤Ù¤­¤«¤Ë´Ø¤¹¤ë»ØÄê¤Î̵ͭ¤òÌä¤ï¤º¡¢¤¹¤Ç¤ËÀâÌÀ¤·¤¿¤È¤ª¤ê (x+y) + z ¤È x +(y+z) ¤Î²ò¤¬¤Þ¤Ã¤¿¤¯°Û¤Ê¤ë¤³¤È¤â¹Í¤¨¤é¤ì¤Þ¤¹¡£Î㤨¤Ð¡¢¤«¤Ã¤³¤ÎÊÝ»ý¤Ë¿¼¤¯¤«¤«¤ï¤ëÌäÂê¤Ï¡¢¼¡¤Î¥³¡¼¥É¤Ë¸«¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£

eps = 1;
do eps = 0.5*eps; while (eps + 1 > 1);


¤³¤Î¥³¡¼¥É¤Ï¡¢¥Þ¥·¥ó¡¦¥¤¥×¥·¥í¥ó¤Ë´Ø¤¹¤ë³µ»»¤òµá¤á¤ë¤â¤Î¤Ç¤¹¡£ºÇŬ²½¥³¥ó¥Ñ¥¤¥é¤¬ eps + 1 > 1 ¢Î eps > 0 ¤Ç¤¢¤ë¤³¤È¤òǧ¼±¤¹¤ë¤È¡¢¥×¥í¥°¥é¥à¤Ï¤Þ¤Ã¤¿¤¯°Û¤Ê¤ëÆ°ºî¤ò¼¨¤¹¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£1 x ¤¬ x (x e ¦Â-p) ¤òĶ¤¨¤ë¤³¤È¤¬¤Ê¤¤¤è¤¦¤Ë¡¢ºÇ¾®¤Î x ¤ò·×»»¤¹¤ëÂå¤ï¤ê¤Ë¡¢x/2 ¤ò 0 (x ) Êý¸þ¤Ë´Ý¤á¤ò¹Ô¤¦ºÇÂç¤Î x ¤ò·×»»¤·¤Þ¤¹¡£¤³¤Î¼ï¤Î¡ÖºÇŬ²½¡×¤òÈò¤±¤ë¤³¤È¤Ï¡¢ºÇŬ²½¤Ë¤è¤Ã¤Æ¼º¤ï¤ì¤ëÊØÍø¤Ê¥¢¥ë¥´¥ê¥º¥à¤òÊÝ»ý¤¹¤ë¤È¤¤¤¦°ÕÌ£¤Ç½ÅÍפˤʤê¤Þ¤¹¡£

ÀÑʬ¡¢ÈùʬÊýÄø¼°¤Î¿ôÃͲò¤È¤¤¤Ã¤¿¿ô¿¤¯¤ÎÌäÂê¤Ï¡¢Â¿¿ô¤Î¹à¤òȼ¤¦Ï¤η׻»¤ò¹Ô¤¦¤â¤Î¤Ç¤¹¡£²Ã»»Áàºî¤ò¹Ô¤¦¤´¤È¤Ë¡¢0.5 ulp ¤â¤Î¸íº¹¤¬²ðÆþ¤¹¤ë²ÄǽÀ­¤¬¤¢¤ë¤Î¤Ç¡¢¿ôÀé¤â¤Î¹à¤òȼ¤¦Ï¤δݤá¸íº¹¤ÏÈó¾ï¤ËÂ礭¤¯¤Ê¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£¤³¤ÎÌäÂê¤ò²ò·è¤¹¤ë´Êñ¤ÊÊýË¡¤Ï¡¢ÉôʬŪ¤Ê²Ã¿ô¤òÇÜÀºÅÙÊÑ¿ô¤È¤·¤Æ³ÊǼ¤·¡¢³Æ²Ã»»½èÍý¤ò¤½¤ì¤¾¤ìÇÜÀºÅ٤Ǽ¹Ԥ¹¤ë¤³¤È¤Ç¤¹¡£·×»»¤òñÀºÅ٤Ǽ¹Ԥ·¤Æ¡¢Ï¤òÇÜÀºÅ٤Ǽ¹Ԥ¹¤ë¤³¤È¤Ï¡¢¤Û¤È¤ó¤É¤Î¥³¥ó¥Ô¥å¡¼¥¿¥·¥¹¥Æ¥à¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤¿¤À¤·¡¢·×»»¤¬¤¹¤Ç¤ËÇÜÀºÅ٤ǹԤï¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¡¢ÀºÅÙ¤òÇܲ乤ë¤Î¤Ï¤½¤ì¤Û¤É´Êñ¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤è¤¯Äó°Æ¤µ¤ì¤ë 1 ¤Ä¤Î²ò·è°Æ¤È¤·¤Æ¡¢³Æ¿ôÃͤò¥½¡¼¥È¤·¤Æ¡¢¾®¤µ¤¤½ç¤Ë²Ã»»¤·¤Æ¤¤¤¯ÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£¤·¤«¤·¡¢Ï¤ÎÀºÅÙ¤òÂçÉý¤Ë²þÁ±¤Ç¤­¤ë¡¢¤Ï¤ë¤«¤Ë¸úΨŪ¤ÊÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£¤¹¤Ê¤ï¤Á¡¢¼¡¤ÎÊýË¡¤Ç¤¹¡£

ÄêÍý 8 (Kahan ¤Î²ÃË¡¸ø¼°)
¼¡¤Î¥¢¥ë¥´¥ê¥º¥à¤Ë½¾¤Ã¤Æ¡¢ ¤ò·×»»¤¹¤ë¤â¤Î¤È¤¹¤ë¡£

S = X[1];
C = 0;
for j = 2 to N { 
    Y = X[j] - C;
    T = S + Y;
    C = (T - S) - Y;
    S = T;
} 


S ¤Î·×»»Ãͤϡ¢ (¤³¤³¤Ç ) ¤Ë¤Ê¤ë¡£

¸ÇÍ­¤Î¸ø¼° ¤ò»ÈÍѤ·¤ÆϤò·×»»¤¹¤ë¤È¡¢ (¤¿¤À¤· |¦Äj| < (n - j)e) ¤Ë¤Ê¤ê¤Þ¤¹¡£¤³¤Î·ë²Ì¤Ï¡¢ Kahan ¤Î²ÃË¡¸ø¼°¤Î¾ì¹ç¤ËÈæ¤Ù¤ë¤ÈÃø¤·¤¯²þÁ±¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤Îñ½ã¤Ê¸ø¼°¤ÎÃæ¤Ç¡¢³Æ²Ã¿ô¤Ï¡¢ne ¤â¤ÎÀÝÆ°¤Î±Æ¶Á¤Ï¼õ¤±¤º¡¢Ã±¤Ë 2e ¤ÇÀÝÆ°¤µ¤ì¤ë¤À¤±¤Ç¤¹¡£¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢¡Ö²ÃË¡¤Î¸íº¹¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£

ÉâÆ°¾®¿ôÅÀ±é»»¤¬¡¢Âå¿ôˡ§¤Ë½¾¤Ã¤Æ¤¤¤ë¤³¤È¤òÁ°Äó¤È¤¹¤ëºÇŬ²½¥×¥í¥°¥é¥à¤Ç¤Ï¡¢·ë²Ì¤¬ C = [T-S] - Y = [(S+Y)-S] - Y = 0 ¤È¤Ê¤ê¡¢¥¢¥ë¥´¥ê¥º¥à¤¬¤Þ¤Ã¤¿¤¯Ìµ°ÕÌ£¤Ë¤Ê¤ê¤Þ¤¹¡£¤³¤ì¤é¤ÎÎã¤Ë¤è¤ê¡¢¼Â¿ô¤ËŬÍѤµ¤ì¤ëÂå¿ô¤Îñ°Ì¸µ¤òÉâÆ°¾®¿ôÅÀÊÑ¿ô¤òȼ¤¦¼°¤Ë»ÈÍѤ¹¤ë¾ì¹ç¤Ï¡¢ºÇŬ²½¥×¥í¥°¥é¥à¤ò¿µ½Å¤Ë»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ë¤È¤¤¤¦¤³¤È¤¬¸À¤¨¤Þ¤¹¡£

¤µ¤é¤Ë¡¢ºÇŬ²½¥×¥í¥°¥é¥à¤Ï¡¢Äê¿ô¤ò°·¤¦¾ì¹ç¤Ë¤âÉâÆ°¾®¿ôÅÀ¥³¡¼¥É¤Î¥»¥Þ¥ó¥Æ¥£¥¯¥¹¤òÊѤ¨¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£1.0E-40*x ¤Î¼°¤Ç¤Ï¡¢°ÅÌۤΤ¦¤Á¤Ë 10 ¿Ê¿ô¤«¤é 2 ¿Ê¿ôÄê¿ô¤Ø¤ÎÊÑ´¹¤¬¹Ô¤ï¤ì¤Þ¤¹¡£¤³¤ÎÄê¿ô¤Ï¡¢2 ¿Ê¿ô¤ÇÀµ³Î¤Ëɽ¸½¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¤Î¤Ç¡¢ÉÔÀµ³Î¤ÊÁàºî¤ÎÎã³°¤¬µ¯¤­¤Þ¤¹¡£¤Þ¤¿¡¢¼°¤¬Ã±ÀºÅÙ¤Çɾ²Á¤µ¤ì¤¿¾ì¹ç¤Ï¡¢¥¢¥ó¥À¡¼¥Õ¥í¡¼¡¦¥Õ¥é¥°¤¬¥»¥Ã¥È¤µ¤ì¤Þ¤¹¡£Äê¿ô¤¬ÉÔÀµ³Î¤Ç¤¢¤ë¾ì¹ç¡¢2 ¿Ê¿ô¤Ø¤ÎÀµ³Î¤ÊÊÑ´¹¤Ï¡¢IEEE ´Ý¤á¥â¡¼¥É¤Î¸½ºß¤ÎÃͤ˰͸¤·¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢¥³¥ó¥Ñ¥¤¥ë»þ¤Ë 1.0E-40 ¤ò 2 ¿Ê¿ô¤ËÊÑ´¹¤¹¤ëºÇŬ²½¥×¥í¥°¥é¥à¤Ë¤è¤ê¡¢¥×¥í¥°¥é¥à¤Î¥»¥Þ¥ó¥Æ¥£¥¯¥¹¤¬Êѹ¹¤µ¤ì¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£¤¿¤À¤·¡¢27.5 ¤Î¤è¤¦¤ÊÄê¿ô¤Ï¡¢ºÇÄã¤ÎÀºÅ٤ǤâÀµ³Î¤Ëɽ¸½¤Ç¤­¤ë¤Î¤Ç¡¢¥³¥ó¥Ñ¥¤¥ë»þ¤ËÀµ¤·¤¯ÊÑ´¹¤µ¤ì¤Þ¤¹¡£¤¹¤Ê¤ï¤Á¡¢¤Ä¤Í¤ËÀµ³Î¤Ëɽ¸½¤µ¤ì¤ë¤Î¤Ç¡¢Îã³°¤âµ¯¤­¤º¡¢´Ý¤á¥â¡¼¥É¤Î±Æ¶Á¤â¼õ¤±¤Ê¤¤¤È¤¤¤¦¤³¤È¤Ç¤¹¡£¥³¥ó¥Ñ¥¤¥ë»þ¤ËÊÑ´¹¤¹¤Ù¤­Äê¿ô¤Ë¤Ï¡¢Î㤨¤Ð const pi = 3.14159265 ¤Î¤è¤¦¤ÊÄê¿ôÀë¸À¤ò»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£

¶¦Ä̹à¤Î¾Ãµî¤Î¾ì¹ç¤â¡¢ºÇŬ²½¥×¥í¥°¥é¥à¤Ë¤è¤Ã¤ÆÉâÆ°¾®¿ôÅÀ¤Î¥»¥Þ¥ó¥Æ¥£¥¯¥¹¤òÊѤ¨¤é¤ì¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£Î㤨¤Ð¡¢¼¡¤Î¤è¤¦¤Ê¥³¡¼¥É¤Ç¤¹¡£

C = A*B;
RndMode = Up
D = A*B;

A*B ¤Ï°ì¸«¡¢¶¦Ä̹à¤Î¤è¤¦¤Ë»×¤ï¤ì¤Þ¤¹¤¬¡¢2 ¤«½ê¤Îɾ²Á°ÌÃ֤Ǥ½¤ì¤¾¤ì´Ý¤á¥â¡¼¥É¤¬°Û¤Ê¤ë¤Î¤Ç¶¦Ä̹à¤È¤·¤Æ¤Ï°·¤¤¤Þ¤»¤ó¡£¼¡¤Î 3 ¤Ä¤ÎÎ㤬¹Í¤¨¤é¤ì¤Þ¤¹¡£¤Þ¤º x = x ¤Ï¡¢ÏÀÍýÄê¿ô true ¤ÇÃÖ¤­´¹¤¨¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£¤³¤ì¤Ï¡¢NaN ¤¬Ä̾ï¤ÎÉâÆ°¾®¿ôÅÀ¿ô¤ËÈæ¤Ù¤ÆÂç¾®¤Çɽ¤ï¤¹¤³¤È¤Ï¤Ç¤­¤Ê¤¤¤Î¤Ç¡¢x ¤¬ NaN ¤Î¤È¤­¤ËÀ®Î©¤·¤Ê¤¤¡¢
x = +0 ¤Î¾ì¹ç¤Ë -x = 0 - x ¤¬À®Î©¤·¤Ê¤¤¡¢¤Þ¤¿ x < y ¤Ï x ¡æ y ¤ÎµÕ¤Ç¤Ï¤Ê¤¤¡¢¤È¤¤¤¦Íýͳ¤¬¤¢¤ë¤«¤é¤Ç¤¹¡£

°Ê¾å¤ÎÎ㤬¤¢¤ëÈ¿ÌÌ¡¢ÉâÆ°¾®¿ôÅÀ¥³¡¼¥É¤ËÂФ·¤Æ¸ú²Ì¤Î¤¢¤ëºÇŬ²½¤â¤¢¤ê¤Þ¤¹¡£¤Þ¤º¡¢ÉâÆ°¾®¿ôÅÀ¿ô¤ËÍ­¸ú¤È¤Ê¤ëÂå¿ô¤Îñ°Ì¸µ¤¬¤¢¤ê¤Þ¤¹¡£IEEE ±é»»¤ÎÎã¤È¤·¤Æ x + y = y + x¡¢ 2 × x = x + x¡¢1 × x = x¡¢ 0.5 × x = x/2 ¤Ê¤É¤¬¤¢¤ê¤Þ¤¹¡£¤¿¤À¤·¡¢¤³¤ì¤é¤Îñ½ã¤Êñ°Ì¸µ¤Ï¡¢CDC ¤ä Cray ¤Î¥¹¡¼¥Ñ¡¼¥³¥ó¥Ô¥å¡¼¥¿¾å¤Ç¤Ï¼ºÇÔ¤·¤Þ¤¹¡£¤½¤Î¤Û¤«¡¢Ì¿Îá¤Î¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¤ä¥¤¥ó¥é¥¤¥ó¡¦¥×¥í¥·¡¼¥¸¥ãÃÖ´¹¤â¡¢ºÇŬ²½¤Ë¤è¤Ã¤Æ¸ú²Ì¤ÎÆÀ¤é¤ì¤ëÎã¤È¤Ê¤ê¤Þ¤¹28¡£

3 ¤ÄÌܤÎÎã¤È¤·¤Æ¡¢dx = x*y (x ¤È y ¤Ï¤È¤â¤ËñÀºÅÙ¤ÎÊÑ¿ô¡¢dx ¤ÏÇÜÀºÅÙ¤òɽ¤ï¤·¤Þ¤¹) ¤Î¼°¤ò¹Í¤¨¤Æ¤ß¤Þ¤¹¡£2 ¤Ä¤ÎñÀºÅÙ¿ô¤ò¾è»»¤·¤ÆÇÜÀºÅÙ¿ô¤ò½ÐÎϤ¹¤ë¥Þ¥·¥ó¤Ç¤Ï¡¢dx = x*y¤Ï¤½¤ì¤¾¤ì³ºÅö¤¹¤ëÌ¿Îá¤Ë¥Þ¥Ã¥×¤µ¤ì¤Þ¤¹¡£¤Ä¤Þ¤ê¥ª¥Ú¥é¥ó¥É¤òÇÜÀºÅÙ¤ËÊÑ´¹¤·¤Æ¤«¤é¡¢ÇÜÀºÅ٤ξ軻¤ò¤¹¤ë¤È¤¤¤¦°ìÏ¢¤ÎÌ¿Îá¤Ø¤Î¥³¥ó¥Ñ¥¤¥ë¤Ï¹Ô¤ï¤ì¤Þ¤»¤ó¡£

¥³¥ó¥Ñ¥¤¥é¤ÎÀß·×¼Ô¤ÎÃæ¤Ë¡¢(x + y) + z ¤«¤é x + (y + z) ¤Ø¤ÎÊÑ´¹¤ò¶Ø»ß¤¹¤ëÀ©¸Â¤Ï¡¢°Ü¿¢ÉÔǽ¤Ê¥È¥ê¥Ã¥¯¤ò»ÈÍѤ¹¤ë¥×¥í¥°¥é¥Þ¤Ë¤·¤«´ØÏ¢¤Î¤Ê¤¤¤³¤È¤Ê¤Î¤Ç¡¢Ìµ°ÕÌ£¤Ç¤¢¤ë¤È¤¤¤¦»ØŦ¤â¤¢¤ê¤Þ¤¹¡£¤ª¤½¤é¤¯¡¢¤³¤ì¤ÏÉâÆ°¾®¿ôÅÀ¿ô¤¬¼Â¿ô¤Î¥â¥Ç¥ë¤Ë½¾¤Ã¤Æ¤¤¤ë¤Î¤Ç¡¢¼Â¿ô¤ÈƱ¤¸Ë¡Â§¤Ë½¾¤¦¤Ù¤­¤Ç¤¢¤ë¤È¤¤¤¦ÏÀµò¤Ë¤â¤È¤Å¤¯¤â¤Î¤Ç¤¹¡£¼Â¿ô¤Î¥»¥Þ¥ó¥Æ¥£¥¯¥¹¤Ëȼ¤¦ÌäÂê¤Ï¡¢¥¤¥ó¥×¥ê¥á¥ó¥È¤¹¤ë¤Î¤Ë¥³¥¹¥È¤¬¤«¤«¤ë¤È¤¤¤¦ÅÀ¤Ç¤¹¡£2 ¤Ä¤Î n ¥Ó¥Ã¥È¿ô¤ò¾è»»¤¹¤ë¤È¡¢ÀÑ¤Ï 2n ¥Ó¥Ã¥È¤Ë¤Ê¤ê¤Þ¤¹¡£

´Ö³Ö¤Î¹­¤¤»Ø¿ô¤òȼ¤¦ 2 ¤Ä¤Î n ¥Ó¥Ã¥È¿ô¤ò²Ã»»¤¹¤ë¤´¤È¤Ë¡¢Ï¤Υӥåȿô¤Ï n + »Ø¿ô´Ö¤Î´Ö³Ö¤Çɽ¤ï¤µ¤ì¤Þ¤¹¡£ÏÂ¤Ï (emax - emin) + n ¥Ó¥Ã¥È¤È¤Ê¤ê¡¢¤ª¤è¤½ 2¡¦emax + n ¥Ó¥Ã¥È¤ËÁêÅö¤·¤Þ¤¹¡£²¿Àé²ó¤â¤Î±é»»¤ò¹Ô¤¦¥¢¥ë¥´¥ê¥º¥à (Î㤨¤Ð¡¢Àþ·ÁÂå¿ô¤Î²ò¤Ê¤É) ¤Ç¤Ï¡¢Â¿¿ô¤ÎÍ­°Õ¥Ó¥Ã¥È¤ò´Þ¤à¿ô¤òÂоݤȤ·¤ÆÁàºî¤ò¹Ô¤¦¤Î¤Ç¡¢½èÍý¤¬¤­¤ï¤á¤ÆÄ㮤ˤʤê¤Þ¤¹¡£¤Þ¤¿¡¢sin ¤ä cos ¤Ê¤É¤ÎĶ±Û´Ø¿ô¤ÎÃͤÏÍ­Íý¿ô¤Ë¤Ï¤Ê¤é¤Ê¤¤¤Î¤Ç¡¢¤³¤ì¤é¤Î¥é¥¤¥Ö¥é¥ê´Ø¿ô¤ò¥¤¥ó¥×¥ê¥á¥ó¥È¤¹¤ë¤Î¤Ï¤µ¤é¤ËÆñ¤·¤¯¤Ê¤ê¤Þ¤¹¡£LISP ¥·¥¹¥Æ¥à¤Ç¤Ï¡¢Àµ³Î¤ÊÀ°¿ô¤Î±é»»¤¬Ä󶡤µ¤ì¤Æ¤¤¤Æ¡¢ÌäÂê¤ò²ò·è¤·¤ä¤¹¤¤¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£¤¿¤À¤·¡¢Àµ³Î¤ÊÉâÆ°¾®¿ôÅÀ±é»»¤Ï¤Û¤È¤ó¤ÉÌò¤ËΩ¤Á¤Þ¤»¤ó¡£

¼ÂºÝ¤Ë¤Ï¡¢(x + y) + z ¡â x + (y + z) ¤È¤¤¤¦»ö¼Â¤òÍøÍѤ·¤¿ÊØÍø¤Ê¥¢¥ë¥´¥ê¥º¥à (Kahan ¤Î²ÃË¡¸ø¼°¤Ê¤É) ¤¬ÍÑ°Õ¤µ¤ì¤Æ¤ª¤ê¡¢¼¡¤ÎÈϰϤ¬Í­¸ú¤Ç¤¢¤ë¸Â¤ê¡¢Àµ¤·¤¯Æ°ºî¤·¤Þ¤¹¡£

a b = (a + b)(1 +¦Ä)

¤³¤ÎÈϰϤϡ¢»ÔÈΤµ¤ì¤Æ¤¤¤ëÂçÉôʬ¤Î¥Ï¡¼¥É¥¦¥§¥¢¤ËŬÍѤµ¤ì¤ë¤Î¤Ç¡¢¿ôÃÍ¥×¥í¥°¥é¥Þ¤¬¤³¤¦¤·¤¿¥¢¥ë¥´¥ê¥º¥à¤ò̵»ë¤·¤¿¤ê¡¢¥³¥ó¥Ñ¥¤¥éÀß·×¼Ô¤¬ÉâÆ°¾®¿ôÅÀÊÑ¿ô¤Ë¼Â¿ô¤Î¥»¥Þ¥ó¥Æ¥£¥¯¥¹¤¬ÊÝ»ý¤µ¤ì¤ë¤³¤È¤òÁ°Äó¤È¤·¤Æ¡¢¤³¤ì¤é¤Î¥¢¥ë¥´¥ê¥º¥à¤òÍøÍѤ·¤Ê¤¤¤³¤È¤Ï¡¢¸­ÌÀ¤È¤Ï¸À¤¨¤Þ¤»¤ó¡£

Îã³°½èÍý

¤³¤³¤Þ¤Ç¤ÎÀâÌÀ¤Ï¼ç¤Ë¡¢¥·¥¹¥Æ¥à¤¬»ý¤ÄÀºÅ٤ΰÕÌ£¤Ë´Ø¤¹¤ë¤â¤Î¤Ç¤·¤¿¡£¥È¥é¥Ã¥×¥Ï¥ó¥É¥é¤â¡¢¥·¥¹¥Æ¥à¤Ë´Ø¤¹¤ë¶½Ì£¿¼¤¤ÌäÂê¤òÄ󵯤¹¤ë¤â¤Î¤Ç¤¹¡£IEEE ɸ½à¤Ç¤Ï¡¢¥æ¡¼¥¶¡¼¤¬ 5 ¤Ä¤Î¥¯¥é¥¹¤Î³ÆÎã³°¤ËÂФ¹¤ë¥È¥é¥Ã¥×¥Ï¥ó¥É¥é¤ò»ØÄê¤Ç¤­¤ë¤è¤¦¤Ê»ÅÍͤ¬¶¯¤¯¿ä¾©¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¡Ö¥È¥é¥Ã¥×¥Ï¥ó¥É¥é¡×¤Ç¤Ï¡¢¥æ¡¼¥¶¡¼¤¬ÄêµÁ¤Ç¤­¤ë¥È¥é¥Ã¥×¥Ï¥ó¥É¥é¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¤¤¤¯¤Ä¤«¾Ò²ð¤·¤Þ¤·¤¿¡£Ìµ¸ú¤ÊÁàºî¤ä¥¼¥í¤Ë¤è¤ë½ü»»¤¬¹Ô¤ï¤ì¤¿¾ì¹ç¡¢¥Ï¥ó¥É¥é¤Ë¤Ï³ºÅö¤¹¤ë¥ª¥Ú¥é¥ó¥É¡¢¤¢¤ë¤¤¤ÏÀµ³Î¤Ë´Ý¤á¤¿·ë²Ì¤òÄ󶡤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£»ÈÍѤ¹¤ë¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤Ë¤è¤Ã¤Æ¥È¥é¥Ã¥×¥Ï¥ó¥É¥é¤Ï¡¢¥×¥í¥°¥é¥àÃæ¤Î¤½¤Î¾¤ÎÊÑ¿ô¤Ë¤â¥¢¥¯¥»¥¹¤Ç¤­¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£¤¹¤Ù¤Æ¤ÎÎã³°¤Ë¤Ä¤¤¤Æ¡¢¥È¥é¥Ã¥×¥Ï¥ó¥É¥é¤Ï¡¢¼Â¹Ô¤µ¤ì¤¿Áàºî¤ÎÆâÍÆ¡¢¤ª¤è¤Ó°Õ¿Þ¤µ¤ì¤¿ÀºÅÙ¤ò¼±Ê̤Ǥ­¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£

IEEE ɸ½à¤Ç¤Ï¡¢³ÆÁàºî¤¬³µÇ°Åª¤Ë¥·¥ê¥¢¥ë·Á¼°¤Ç¹½À®¤µ¤ì¡¢²¿¤é¤«¤ÎÎã³°¤¬µ¯¤­¤¿»þÅÀ¤ÇÁàºî¤ÎÆâÍƤȥª¥Ú¥é¥ó¥É¤ò¼±Ê̤Ǥ­¤ë¤³¤È¤òÁ°Äó¤È¤·¤Æ¤¤¤Þ¤¹¡£¥Ñ¥¤¥×¥é¥¤¥óµ¡Ç½¤ä¿½Å±é»»¥æ¥Ë¥Ã¥È¤ò¥µ¥Ý¡¼¥È¤·¤¿¥Þ¥·¥ó¤Ç¤Ï¡¢Îã³°¤¬µ¯¤­¤¿¾ì¹ç¤Ë¡¢Ã±¤Ë¥È¥é¥Ã¥×¥Ï¥ó¥É¥é¤Ç¥×¥í¥°¥é¥à¥«¥¦¥ó¥¿¤ò¥Á¥§¥Ã¥¯¤µ¤»¤ë¤À¤±¤Ç¤ÏÉÔ½½Ê¬¤Ë¤Ê¤ë¾ì¹ç¤â¤¢¤ê¤Þ¤¹¡£¤¹¤Ê¤ï¤ÁÁàºî¤ÎÆâÍƤòÀµ³Î¤Ë¼±Ê̤Ǥ­¤ë¥Ï¡¼¥É¥¦¥§¥¢¤¬É¬Íפˤʤë¤È¤¤¤¦¤³¤È¤Ç¤¹¡£

¼¡¤Î¥×¥í¥°¥é¥àÉôʬ¤Ï¡¢¤Þ¤¿Ê̤ÎÌäÂê¤ò¼¨¤·¤¿¤â¤Î¤Ç¤¹¡£

x = y*z;
z = x*w;
a = b + c;
d = a/x;

2 ¤ÄÌܤξ軻¤Ë¤è¤êÎã³°¤¬µ¯¤­¤Æ¡¢¥È¥é¥Ã¥×¥Ï¥ó¥É¥é¤¬ a ¤ÎÃͤò»ÈÍѤ·¤¿¤¤¤â¤Î¤È²¾Äꤷ¤Þ¤¹¡£²Ã»»¤È¾è»»¤òÊÂÎóŪ¤Ë¼Â¹Ô¤Ç¤­¤ë¥Ï¡¼¥É¥¦¥§¥¢¤Ç¤Ï¡¢ºÇŬ²½¥×¥í¥°¥é¥à¤Ë¤è¤Ã¤Æ¡¢2 ¤ÄÌܤξ軻¤ò»Ï¤á¤ëÁ°¤Ë²Ã»»Áàºî¤¬°ÜÆ°¤µ¤ì¤ë¤Î¤Ç¡¢¤³¤Î²Ã»»½èÍý¤ÏºÇ½é¤Î¾è»»¤ÈʹԤ·¤Æ¼Â¹Ô¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢2 ¤ÄÌܤξ軻¤¬¥È¥é¥Ã¥×¤µ¤ì¤Æ¤â¡¢a = b + c ¤Î¼Â¹Ô¤¬½ª¤ï¤Ã¤Æ¤¤¤ë¤Î¤Ç¡¢a ¤Î·ë²Ì¤¬°ìÉôÊѹ¹¤µ¤ì¤Æ¤¤¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£¤¢¤é¤æ¤ëÉâÆ°¾®¿ôÅÀ±é»»¤¬¥È¥é¥Ã¥×¤µ¤ì¤ë²ÄǽÀ­¤¬¤¢¤ê¡¢¤³¤Î·ë²Ì¡¢ºÇŬ²½¤ò¥¹¥±¥¸¥å¡¼¥ë¤¹¤ëÌ¿Î᤬¤¹¤Ù¤Æ¾Ãµî¤µ¤ì¤ë¤³¤È¤¬¤¢¤ë¤¿¤á¡¢¥³¥ó¥Ñ¥¤¥é¤Ç¡¢°Ê¾å¤Î¤è¤¦¤ÊºÇŬ²½¤òÈò¤±¤ë¤³¤È¤Ï¤è¤¤ÊýË¡¤È¤Ï¸À¤¨¤Þ¤»¤ó¡£¤³¤ÎÌäÂê¤Ï¡¢¥È¥é¥Ã¥×¥Ï¥ó¥É¥é¤¬¥×¥í¥°¥é¥àÃæ¤ÎÊÑ¿ô¤ËľÀÜ¥¢¥¯¥»¥¹¤¹¤ë¤Î¤ò¤¹¤Ù¤Æ¶Ø»ß¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ²ò·è¤Ç¤­¤Þ¤¹¡£Âå¤ï¤ê¤Ë¡¢¥Ï¥ó¥É¥é¤Ë¤Ï°ú¿ô¤È¤·¤Æ¡¢¥ª¥Ú¥é¥ó¥É¤Þ¤¿¤Ï·ë²Ì¤òÅϤ¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£

¤³¤ì¤Ç¤â¤Ê¤ª¡¢Ê̤ÎÌäÂ꤬»Ä¤ê¤Þ¤¹¡£¼¡¤Î¥³¡¼¥ÉÉôʬ¤Î¾ì¹ç¡¢2 ¤Ä¤ÎÌ¿Î᤬ÊÂÎóŪ¤Ë¼Â¹Ô¤µ¤ì¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£

x = y*z;
z = a + b;

¾è»»¤¬¥È¥é¥Ã¥×¤µ¤ì¤ë¤È¡¢¤½¤Î°ú¿ô z ¤¬¤¹¤Ç¤Ë¼¡¤Î²Ã»»¤Ë¤è¤Ã¤Æ¾å½ñ¤­¤µ¤ì¤Æ¤¤¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£Æäˡ¢²Ã»»¤Ï¾è»»¤è¤ê¤â¹â®¤Ç½èÍý¤µ¤ì¤ë¤Î¤Ç¡¢¤³¤ì¤¬¤¢¤Æ¤Ï¤Þ¤ê¤Þ¤¹¡£IEEE ɸ½à¤ò¥µ¥Ý¡¼¥È¤¹¤ë¥³¥ó¥Ô¥å¡¼¥¿¥·¥¹¥Æ¥à¤Ç¤Ï¡¢z ¤ÎÃͤò¥Ï¡¼¥É¥¦¥§¥¢¤ËÊݸ¤¹¤ë¤«¡¢¤¢¤ë¤¤¤ÏºÇ½é¤Î»þÅÀ¤Ç¥³¥ó¥Ñ¥¤¥é¤Ë¤³¤Î¤è¤¦¤Ê¾õ¶·¤ò²óÈò¤µ¤»¤ë¤«¡¢¤È¤¤¤Ã¤¿²¿¤é¤«¤Î¼êÃʤ¬É¬Íפˤʤê¤Þ¤¹¡£

Kahan¤Ï¡¢¥È¥é¥Ã¥×¥Ï¥ó¥É¥é¤ÎÂå¤ï¤ê¤Ë¡¢¡ÖÁ°ÃÖ´¹¡×¤È¤¤¤¦ÊýË¡¤Ë¤è¤Ã¤Æ¤³¤¦¤·¤¿ÌäÂê¤ò²óÈò¤Ç¤­¤ë¤ÈÄó°Æ¤·¤Æ¤¤¤Þ¤¹¡£¤³¤ÎÊýË¡¤Ç¤Ï¡¢¤¢¤ëÎã³°¤¬µ¯¤­¤¿»þÅÀ¤Ç¡¢¤½¤Î·ë²Ì¤È¤·¤Æ»ÈÍѤ¹¤ëÃͤÈÎã³°¤ÎÆâÍƤò¥æ¡¼¥¶¡¼¼«¿È¤¬»ØÄꤷ¤Þ¤¹¡£Î㤨¤Ð¡¢(sin x)/x ¤ò·×»»¤¹¤ë¥³¡¼¥É¤Ç¡¢¥æ¡¼¥¶¡¼¤¬ x = 0 ¤È¤Ê¤ë¤³¤È¤Ï¤Û¤È¤ó¤É¤Ê¤¤¤ÈȽÃǤ·¤¿¾å¤Ç¡¢x = 0 ¤Î¥Æ¥¹¥È¤ò¾Êά¤·¡¢Âå¤ï¤ê¤Ë 0/0 ¥È¥é¥Ã¥×¤¬µ¯¤­¤¿»þÅÀ¤Ç¡¢¤³¤Î¥±¡¼¥¹¤ËÂбþ¤µ¤»¤ë¤³¤È¤Ë¤è¤Ã¤Æ¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤ò²þÁ±¤·¤¿¤¤¤È¤·¤Þ¤¹¡£IEEE ¥È¥é¥Ã¥×¥Ï¥ó¥É¥é¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢¥æ¡¼¥¶¡¼¤Ï¡¢sin x/x ¤Î·×»»¤ò»Ï¤á¤ëÁ°¤Ë¡¢¤Þ¤ºÃÍ 1 ¤òÊÖ¤¹¥Ï¥ó¥É¥é¤òºîÀ®¤·¡¢¤³¤ì¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£°ìÊý¡¢Á°ÃÖ´¹¤òÍøÍѤ¹¤ì¤Ð¡¢Ìµ¸ú¤ÊÁàºî¤¬µ¯¤­¤¿»þÅÀ¤Ç¡¢ÃÍ 1 ¤ò»ÈÍѤ¹¤ë¤è¤¦¤Ë»ØÄꤹ¤ë¤À¤±¤ÇºÑ¤ß¤Þ¤¹ (Îã³°¤¬¼ÂºÝ¤Ëµ¯¤­¤ëÁ°¤Ë¡¢»ÈÍѤ¹¤ëÃͤò»ØÄꤷ¤Æ¤ª¤¯É¬Íפ¬¤¢¤ë¤«¤é¤Ç¤¹)¡£¥È¥é¥Ã¥×¥Ï¥ó¥É¥é¤Î¾ì¹ç¡¢ÊÖ¤µ¤ì¤ëÃͤϥȥé¥Ã¥×¤¬µ¯¤­¤¿»þÅÀ¤Ç·×»»¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£

Á°ÃÖ´¹¤ÎÍøÅÀ¤Ï¡¢¥Ï¡¼¥É¥¦¥§¥¢¤Î¼ÂÁõ¤¬¤ï¤«¤ê¤ä¤¹¤¯¤Ê¤ë¤È¤¤¤¦ÅÀ¤Ç¤¹29¡£Îã³°¤Î¥¿¥¤¥×¤¬ÆÃÄꤵ¤ì¤¿»þÅÀ¤Ç¡¢¤³¤ì¤ò¤â¤È¤Ë¡¢É¬ÍפÊÁàºî¤Î·ë²Ì¤òÊݸ¤·¤¿¥Æ¡¼¥Ö¥ë¤ò»²¾È¤µ¤»¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£Á°ÃÖ´¹¤Ë¤Ï¤¤¤¯¤Ä¤«¤ÎÍøÅÀ¤¬¤¢¤ë°ìÊý¡¢IEEE ¤Îɸ½à¤¬¤¹¤Ç¤Ë¹­¤¯ÉáµÚ¤·¤Æ¤¤¤ë¤³¤È¤¬¡¢¥Ï¡¼¥É¥¦¥§¥¢¥á¡¼¥«¡¼¤Ë¤è¤ë¼õ¤±Æþ¤ì¤òÁˤó¤Ç¤¤¤ë¤È¤¤¤¦ÌäÂ꤬¤¢¤ê¤Þ¤¹¡£

¾ÜºÙ

¤³¤³¤Þ¤Ç¡¢ÉâÆ°¾®¿ôÅÀ±é»»¤Ë´Ø¤¹¤ë¼ç¤ÊÆÃÀ­¤Ë¤Ä¤¤¤Æ¡¢¤µ¤Þ¤¶¤Þ¤Ê´ÑÅÀ¤«¤é¸¡Æ¤¤·¤Æ¤­¤Þ¤·¤¿¡£¤³¤Î¸å¤Î¹à¤Ç¤Ï¡¢ÉâÆ°¾®¿ôÅÀ¤¬·è¤·¤ÆÆñÂê¤Ç¤Ï¤Ê¤¯¡¢¤³¤ì¤Þ¤Ç¤Ë»ØŦ¤µ¤ì¤Æ¤­¤¿ÌäÂê¤Ï¤¹¤Ù¤Æ¿ô³ØŪ¤Ë¸¡¾Ú¤Ç¤­¤ë¤ï¤«¤ê¤ä¤¹¤¤ÌäÂê¤Ç¤¢¤ë¤È¤¤¤¦ÅÀ¤ò¼Â¾Ú¤·¤Æ¤¤¤­¤Þ¤¹¡£¤³¤Î¹à¤ÏÂ礭¤¯ 3 ¤Ä¤Ëʬ¤±¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£Âè 1 Éô¤Ç¤Ï¡¢¸íº¹¤ÎʬÀϤ˴ؤ¹¤ëƳÆþÀâÌÀ¤ò¹Ô¤¤¤Þ¤¹¡£¤Þ¤¿ 177¥Ú¡¼¥¸¤Ë¼¨¤·¤¿¡Ö´Ý¤á¸íº¹¡×¤Ë¤Ä¤¤¤Æ¾Ü¤·¤¯ÀâÌÀ¤·¤Þ¤¹¡£Âè 2 Éô¤Ç¤Ï¡¢2 ¿Ê¿ô¤«¤é 10 ¿Ê¿ô¤Ø¤ÎÊÑ´¹¤Ë¤Ä¤¤¤Æ¡¢¡ÖIEEE ɸ½à¡×¤Ë´Ø¤¹¤ëÊä­ÀâÌÀ¤ò¹Ô¤¤¤Þ¤¹¡£Âè 3 Éô¤Ç¤Ï¡¢¡Ö¥·¥¹¥Æ¥à¤Î¦Ì̡פÇÎ㼨¤·¤¿¡ÖKahan¤Î²ÃË¡¸ø¼°¡×¤Ë¤Ä¤¤¤Æ¾Ü¤·¤¯ÀâÌÀ¤·¤Þ¤¹¡£

´Ý¤á¸íº¹

¡Ö´Ý¤á¸íº¹¡×¤Î¹à¤Ç¤Ï¡¢Êݸî·å¤ò 1 ·å³ÎÊݤ¹¤ì¤Ð¡¢²Ã»»¤È¸º»»¤Ïɬ¤ºÀµ³Î¤Ë¼Â¹Ô¤µ¤ì¤ë¤ÈÀâÌÀ¤·¤Þ¤·¤¿ (ÄêÍý 2)¡£¤³¤³¤Ç¤Ï¡¢¤½¤Î¸¡¾Ú¤ò¹Ô¤¤¤Þ¤¹¡£ÄêÍý 2 ¤Ï¡¢²Ã»»¤Ë´Ø¤¹¤ë¤â¤Î¤È¡¢¸º»»¤Ë´Ø¤¹¤ë¤â¤Î¤Î 2 ¤Ä¤ÎÉôʬ¤Ç¹½À®¤µ¤ì¤Þ¤¹¡£¸º»»¤Ë´Ø¤¹¤ëÄêÍý¤Ï¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£

ÄêÍý 9

x ¤È y ¤¬¡¢¥Ñ¥é¥á¡¼¥¿¦Â ¤È p ¤òȼ¤¦¥Õ¥©¡¼¥Þ¥Ã¥È¤ÇÀµ¤ÎÉâÆ°¾®¿ôÅÀ¿ô¤òɽ¤ï¤¹¾ì¹ç¡¢p + 1 ·å (1 ·å¤ÏÊݸî·å) ¤Ç¸º»»¤ò¹Ô¤¦¤È¡¢·ë²Ì¤ÎÁêÂдݤá¸íº¹¤Ï
e ¡å 2e °Ê²¼¤Ë¤Ê¤ë¡£

¾ÚÌÀ

x > y ¤Ë¤Ê¤ë¤è¤¦¤Ë¡¢É¬Íפ˱þ¤¸¤Æ x ¤È y ¤òÆþ¤ì´¹¤¨¤Þ¤¹¡£x ¤¬ x0.x1 ... xp-1 × b0 ¤Ë¤Ê¤ë¤è¤¦¤Ë x ¤È y ¤ò´ð½à²½ (¥¹¥±¡¼¥ë) ¤·¤Æ¤â¤«¤Þ¤¤¤Þ¤»¤ó¡£y ¤¬ y0.y 1 ...yp-1'¤Çɽ¤ï¤µ¤ì¤ë¾ì¹ç¡¢¤½¤Îº¹¤ÏÀµ³Î¤Ç¤¹¡£¤Þ¤¿ y ¤¬ 0.y 1 ... yp ¤Î¾ì¹ç¡¢Êݸî·å¤Ë¤è¤Ã¤Æ·×»»Ãͤκ¹¤Ï¡¢´Ý¤á¸íº¹¤¬ºÇÂç e°ÊÆâ¤Ë¤Ê¤ë¤è¤¦¤Ë¡¢ÉâÆ°¾®¿ôÅÀ¿ô¤Ë´Ý¤á¤¿Àµ³Î¤Êº¹¤òɽ¤ï¤¹¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
°ìÈ̤ˡ¢y = 0.0 ... 0yk+1 ... yk+p¡¢¤ª¤è¤Ó ¤Ï¡¢p + 1 ·å¤ËÀÚ¤ê¼Î¤Æ¤¿ y ¤È¤Ê¤ê¤Þ¤¹¡£
¤³¤ì¤Ë¤è¤ê¡¢¼¡¤Î¼°¤¬À®¤êΩ¤Á¤Þ¤¹¡£
y - < (¦Â - 1)(¦Â-p - 1 + ¦Â-p - 2 +...+ ¦Â-p - k) (15)
Êݸî·å¤ÎÄêµÁ¤«¤é¡¢x - y ¤Î·×»»ÃÍ¤Ï x - ¤òÉâÆ°¾®¿ôÅÀ¿ô¤Ë´Ý¤á¤¿ÃÍ¡¢¤¹¤Ê¤ï¤Á (x - ) + ¦Ä(´Ý¤á¸íº¹ ¦Ä ¤Ï¼¡¤Î¼°¤òËþ¤¿¤·¤Þ¤¹) ¤Ë¤Ê¤ê¤Þ¤¹¡£
|¦Ä| ¡å (¦Â/2)¦Â-p (16)
Àµ³Î¤Êº¹¤Ï¡¢x - y ¤Ê¤Î¤Ç¡¢¸íº¹¤Ï (x - y) - (x - + ¦Ä) = - y +¦Ä¤Ë¤Ê¤ê¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢¼¡¤Î 3 ¤Ä¤Î¥±¡¼¥¹¤¬¹Í¤¨¤é¤ì¤Þ¤¹¡£x - y ¡æ 1 ¤Î¾ì¹ç¡¢ÁêÂÐ¸íº¹¤Ï¼¡¤ÎÈϰϤˤʤê¤Þ¤¹¡£
¡å¦Â-p [(¦Â- 1)(¦Â-1 +...+¦Â-k)+¦Â/2] <¦Â-p(1+¦Â/2) (17)
x - < 1 ¤Î¾ì¹ç¤Ï¡¢¦Ä= 0 ¤Ë¤Ê¤ê¤Þ¤¹¡£x - y ¤¬¼è¤ì¤ëºÇ¾®Ãͤϼ¡¤Î¤È¤ª¤ê¤Ç¤¹¡£
> (¦Â- 1)(¦Â-1 +...+ ¦Â-k), (¤¿¤À¤·¦Ñ= ¦Â - 1)
¤·¤¿¤¬¤Ã¤Æ¡¢¤³¤Î¾ì¹ç¤ÎÁêÂÐ¸íº¹¤Ï¼¡¤ÎÈϰϤˤʤê¤Þ¤¹¡£

(18)

ºÇ¸å¤Ï¡¢x - y < 1 ¤Î¤È¤­¤Ë x - ¡æ 1 ¤È¤Ê¤ë¥±¡¼¥¹¤Ç¤¹¡£¤³¤ì¤Ï¡¢x - = 1 ¤Î¾ì¹ç (¤¹¤Ê¤ï¤Á¦Ä= 0) ¤Ë¸Â¤Ã¤Æµ¯¤­¤Þ¤¹¡£¦Ä= 0 ¤Î¾ì¹ç¤Ï¡¢¸ø¼° (18) ¤¬Å¬ÍѤµ¤ì¤ë¤Î¤Ç¡¢ÁêÂÐ¸íº¹¤ÎÈÏ°Ï¤Ï ¦Â-p < ¦Â-p (1 + ¦Â/2) ¤È¤Ê¤ê¤Þ¤¹¡£¢£

¦Â= 2 ¤Î¾ì¹ç¡¢ÈϰϤÏÀµ³Î¤Ë 2e¤È¤Ê¤ê¡¢¤³¤ÎÈÏ°Ï¤Ï p ¢ª ¤È¤·¤¿ x = 1 + 22-p ¤È
y = 21-p - 21-2p ¤ËÂФ·¤ÆÆÀ¤é¤ì¤Þ¤¹¡£Æ±¤¸Éä¹æ¤Î¿ô¤ò²Ã»»¤¹¤ë¾ì¹ç¤Ï¡¢¼¡¤ÎÎã¤Ë¸«¤ë¤è¤¦¤Ë¡¢Êݸî·å¤¬¤Ê¤¯¤Æ¤â¡¢Àµ³Î¤Ê·ë²Ì¤¬ÆÀ¤é¤ì¤Þ¤¹¡£

ÄêÍý 10

x ¡æ 0¡¢y ¡æ 0 ¤Î¾ì¹ç¡¢x + y ¤ò·×»»¤¹¤ë¤È¤­¤ÎÁêÂÐ¸íº¹¤Ï¡¢Êݸî·å¤¬¤Ê¤¤¾ì¹ç¤Ç¤â¡¢ºÇÂç 2¦Å¤ËÍÞ¤¨¤é¤ì¤ë¡£

¾ÚÌÀ

k ¤ÎÊݸî·å¤ËÂФ¹¤ë¥¢¥ë¥´¥ê¥º¥à¤Ï¡¢¸º»»¤Î¥¢¥ë¥´¥ê¥º¥à¤Ë»÷¤Æ¤¤¤Þ¤¹¡£x ¡æ y ¤Î¾ì¹ç¤Ï¡¢x ¤È y ¤Î´ð¿ô¤Î°ÌÃÖ¤¬¹ç¤¦¤Þ¤Ç¡¢y ¤ò±¦¤Ë¥·¥Õ¥È¤·¤Þ¤¹¡£p + k ¤Î°ÌÃÖ¤òĶ¤¨¤¿·å¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£¤³¤Î p + k ·å¤Î 2 ¤Ä¤Î¿ô¤ÎϤòµá¤á¤Þ¤¹¡£¼¡¤Ë p ·å¤Ë´Ý¤á¤Þ¤¹¡£
Êݸî·å¤ò»ÈÍѤ·¤Ê¤¤¾ì¹ç¤ÎÄêÍý¤Ë¤Ä¤¤¤Æ¸¡¾Ú¤·¤Þ¤¹ (°ìÈÌŪ¤Ê¥±¡¼¥¹¤ÏƱ¤¸¤Ç¤¹)¡£x ¡æ y ¡æ 0¡¢¤ª¤è¤Ó x ¤ò d.dd... × ¦Â0 ¤Î·Á¼°¤Ë´ð½à²½ (¥¹¥±¡¼¥ë) ¤¹¤ë¤³¤È¤òÁ°Äó¤È¤·¤¿°ìÈÌÏÀ¤¬¼º¤ï¤ì¤ë¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤Þ¤º¡¢¥­¥ã¥ê¡¼¥¢¥¦¥È¤Ï¤Ê¤¤¤â¤Î¤È¤·¤Þ¤¹¡£y ¤Î½ª¤ï¤ê¤«¤é¥·¥Õ¥È¥ª¥Õ¤·¤¿·å¤ÎÃÍ¤Ï ¦Â-p+1 ¤è¤ê¾¯¤Ê¤¯¡¢ÏÂ¤Ï 1 °Ê¾å¤È¤Ê¤ë¤Î¤Ç¡¢ÁêÂÐ¸íº¹¤Ï ¦Â-p+1 /1 = 2e ¤È¤Ê¤ê¤Þ¤¹¡£
°ìÊý¡¢¥­¥ã¥ê¡¼¥¢¥¦¥È¤òȼ¤¦¾ì¹ç¡¢¥·¥Õ¥È¤Ë¤è¤ë¸íº¹¤Ï ¦Â-p+2 ¤Î´Ý¤á¸íº¹¤ËÄɲ乤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
ÏÂ¤Ï b °Ê¾å¤Ë¤Ê¤ë¤Î¤Ç¡¢´Ý¤á¸íº¹¤Ï
¡å 2¦Å
°Ê²¼¤ËÍÞ¤¨¤é¤ì¤Þ¤¹¡£¢£

¤³¤ì¤é 2 ¤Ä¤ÎÄêÍý¤òÁȤ߹ç¤ï¤»¤ë¤³¤È¤Ë¤è¤ê¡¢ÄêÍý 2 ¤òƳ¤¯¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ÄêÍý 2 ¤Ï¡¢1 ²ó¤ÎÁàºî¤ò¼Â¹Ô¤¹¤ë¾ì¹ç¤Ëȼ¤¦ÁêÂÐ¸íº¹¤òµá¤á¤ë¤â¤Î¤Ç¤¹¡£x2 -y2 ¤È (x + y) (x - y) ¤Î´Ý¤á¸íº¹¤òÈæ³Ó¤¹¤ë¾ì¹ç¡¢Â¿½ÅÁàºî¤Ëȼ¤¦ÁêÂÐ¸íº¹¤ò¹Íθ¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£x y ¤ÎÁêÂÐ¸íº¹¤Ï¡¢¦Ä1= [(x y) - (x - y)]/(x - y) ¤È¤Ê¤ê¡¢|¦Ä1|¡å 2e ¤Î¾ò·ï¤òËþ¤¿¤·¤Þ¤¹¡£¤Þ¤¿¡¢¼¡¤Î¤è¤¦¤Ë½ñ¤¯¤³¤È¤â¤Ç¤­¤Þ¤¹¡£

x y = (x - y) (1 + ¦Ä1), |¦Ä1| ¡å 2e (19)

ƱÍͤˡ¢

x y = (x + y) (1 + ¦Ä2), |¦Ä2|¡å 2e (20)

¤Þ¤ºÀµ³Î¤ÊÀѤη׻»¤È´Ý¤á¤Ë¤è¤Ã¤Æ¾è»»¤ò¹Ô¤¦¤È¤¹¤ë¤È¡¢ÁêÂÐ¸íº¹¤ÏºÇÂç 0.5 ulp ¤È¤Ê¤ë¤Î¤Ç¡¢ÉâÆ°¾®¿ôÅÀ¿ô u ¤È v ¤Ë¤Ï¼¡¤Î¼°¤¬À®¤êΩ¤Á¤Þ¤¹¡£

u v = uv (1 + ¦Ä3), |¦Ä3| ¡å e (21)

¾å¤Î 3 ¤Ä¤ÎÊýÄø¼°¤òÁȤ߹ç¤ï¤»¤ë (u = x y¡¢¤ª¤è¤Ó v = x y) ¤È¡¢¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£

(x y) (x y) = (x - y) (1+¦Ä1) (x + y) (1 +¦Ä2) (1 +¦Ä3) (22)

¤·¤¿¤¬¤Ã¤Æ¡¢ (x - y) (x + y) ¤ò·×»»¤¹¤ë¤È¤­¤Ëµ¯¤­¤ëÁêÂÐ¸íº¹¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£

ÁêÂÐ¸íº¹¤Ï¡¢¦Ä1+¦Ä2+¦Ä3+¦Ä1¦Ä2+¦Ä1¦Ä3+¦Ä 2¦Ä 3+¦Ä 1¦Ä 2¦Ä 3 ¤Ë¤Ê¤ê¡¢ÈÏ°Ï¤Ï 5¦Å+ 8¦Å2 ¤È¤Ê¤ê¤Þ¤¹¡£¤¹¤Ê¤ï¤ÁºÇÂçÁêÂÐ¸íº¹¤Ï 5 (´Ý¤á¸íº¹) ¤È¤Ê¤ê¤Þ¤¹ (e ¤¬ºÇ¾®¿ô¤Ç¡¢e2 ¤Ï¤Û¤Ü̵»ë¤Ç¤­¤Þ¤¹)¡£

(x x) (y y) ¤òƱ¤¸¤è¤¦¤ËʬÀϤ·¤Æ¤âÁêÂÐ¸íº¹¤Ï¾®¤µ¤¤ÃͤˤϤʤê¤Þ¤»¤ó¡£¤³¤ì¤Ï¡¢x ¤È y ¤È¤¤¤¦ 2 ¤Ä¤Î¶á¤¤Ãͤ¬ x2 - y2 ¤ËÂåÆþ¤µ¤ì¤ë¤È¡¢ÁêÂÐ¸íº¹¤ÏÄ̾Èó¾ï¤ËÂ礭¤¯¤Ê¤ë¤¿¤á¤Ç¤¹¡£¤³¤Î¾ì¹ç¡¢ (x y) (x y) ¤Ç¿¿¤Ë¤Ê¤Ã¤¿Ê¬ÀϤòºÆ¤Ó»ÈÍѤ·¤Æ¡¢¼¡¤Î¼°¤òÆÀ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£

(x x) (y y) = [x2(1 + ¦Ä1) - y2(1 + ¦Ä2)] (1 + ¦Ä3)
= ((x2 - y2) (1 + ¦Ä1) + (¦Ä1 - ¦Ä2)y2) (1 + ¦Ä3)

x ¤È y ¤ÎÃͤ¬¶á¤¤¾ì¹ç¡¢¸íº¹¤Î¹à (¦Ä1-¦Ä2) y2¤Ï¡¢ºÇÂç x2 - y2 ¤ÈƱ¤¸¤¯¤é¤¤Â礭¤¯¤Ê¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£°Ê¾å¤Î·×»»¤Ë¤è¤Ã¤Æ¡¢x2 - y2 ¤è¤ê (x - y) (x + y) ¤Î¤Û¤¦¤¬¤è¤êÀµ³Î¤Ç¤¢¤ë¤È¤¤¤¦¤³¤È¤¬¼Â¾Ú¤µ¤ì¤¿¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£

¼¡¤Ë¡¢»°³Ñ·Á¤ÎÌÌÀѤ˴ؤ¹¤ë¸ø¼°¤òʬÀϤ·¤Þ¤¹¡£¸ø¼° (7) ¤ò·×»»¤¹¤ë¤È¤­¤Ëµ¯¤­¤ëºÇÂç¸íº¹¤ò¸«ÀѤâ¤ë¤Ë¤Ï¡¢¼¡¤Î»ö¼Â¤¬É¬Íפˤʤê¤Þ¤¹¡£

ÄêÍý 11
Êݸî·å¤Ç¸º»»¤ò¹Ô¤¦¤È¡¢y/2 ¡å x ¡å 2y ¤Î¾ì¹ç¤Ë¡¢x - y ¤ÏÀµ³Î¤Ë·×»»¤µ¤ì¤ë¡£
¾ÚÌÀ
x ¤È y ¤ËƱ¤¸»Ø¿ô¤¬¤¢¤ë¾ì¹ç¡¢x y ¤ÏÀµ³Î¤Ë·×»»¤µ¤ì¤Þ¤¹¡£¤³¤ì°Ê³°¤Î¾ì¹ç¡¢ÄêÍý¤Î¾ò·ï¤«¤é¡¢»Ø¿ô¤Îº¹¤ÏºÇÂç 1 ¤Ç¤¢¤ë¤È¸À¤¨¤Þ¤¹¡£0 ¡å y ¡å x ¤Ë¤Ê¤ë¤è¤¦¤Ë¡¢É¬Íפ˱þ¤¸¤Æ x ¤È y ¤òÆþ¤ì´¹¤¨¤Æ¡¢x ¤¬ x0.x1 ...xp - 1¡¢¤ª¤è¤Ó y ¤¬ 0.y 1 ... yp ¤È¤Ê¤ë¤è¤¦¤Ë x ¤È y ¤ò´ð½à²½ (¥¹¥±¡¼¥ë) ¤·¤Æ¤â¤«¤Þ¤¤¤Þ¤»¤ó¡£x y ¤ò·×»»¤¹¤ë¥¢¥ë¥´¥ê¥º¥à¤Ï¡¢¤Þ¤º x - y ¤òÀµ³Î¤Ë·×»»¤·¤Æ¡¢¼¡¤ËÉâÆ°¾®¿ôÅÀ¤Ë´Ý¤á¤ë¤â¤Î¤Ç¤¹¡£º¹¤¬ 0.d 1 ... dp ¤Î·Á¼°¤Î¾ì¹ç¡¢¤³¤Îº¹¤ÎŤµ¤Ï¤¹¤Ç¤Ë p ·å¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤Î¤Ç¡¢´Ý¤áÁàºî¤ÏɬÍפ¢¤ê¤Þ¤»¤ó¡£x ¡å 2y ¤È¤Ê¤ë¤Î¤Ç¡¢x - y ¡å y¡¢¤Þ¤¿ y ¤Ï 0.d1 ... dp ¤È¤Ê¤ë¤Î¤Ç¡¢x - y ¤Ë¤Ê¤ê¤Þ¤¹¡£¢£

¦Â > 2 ¤Î¾ì¹ç¡¢ÄêÍý 11 ¤ò y/¦Â¡å x ¡å ¦Ây ¤ËÃÖ¤­´¹¤¨¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£y/2¡å x ¡å 2y ¤Î¶¯¤¤¾ò·ï¤¬É¬Íפˤʤê¤Þ¤¹¡£ÄêÍý 10 ¤Î¾ÚÌÀ¤Îľ¸å¤Ë¼¨¤·¤¿ (x - y) (x + y) ¤Î¸íº¹Ê¬ÀϤϡ¢²Ã»»¤È¸º»»¤Î´ðËܱ黻Ãæ¤Ëµ¯¤­¤ëÁêÂÐ¸íº¹¤Ï¾®¤µ¤¤ (ÄêÍý (19)¤È(20)) ¤È¤¤¤¦»ö¼Â¤òÁ°Äó¤Ë¤·¤¿¤â¤Î¤Ç¤¹¡£¤³¤ì¤Ï¡¢ºÇ¤â°ìÈÌŪ¤Ê¸íº¹Ê¬ÀϤÎÎã¤Ç¤¹¡£¸ø¼° (7) ¤òʬÀϤ¹¤ë¤Ë¤Ï¡¢¼¡¤Î¾ÚÌÀ¤Ç¼¨¤¹¤È¤ª¤ê¡¢ÄêÍý 11 ¤Î¤è¤¦¤Ê¾ò·ï¤¬É¬Íפˤʤê¤Þ¤¹¡£

ÄêÍý 12
Êݸî·å¤Ç¸º»»¤ò¹Ô¤¦¾ì¹ç¡¢a¡¢b¡¢c ¤¬»°³Ñ·Á¤Î 3 ÊÕ (a ¡æ b ¡æ c) ¤È¤¹¤ë¤È¡¢
(a +(b + c))(c -(a - b))(c +(a - b))(a +(b - c)) ¤ò·×»»¤¹¤ë¤È¤­¤ÎÁêÂÐ¸íº¹¤ÏºÇÂç 16¦Å(¤¿¤À¤· e < 0.005) ¤Ë¤Ê¤ë¡£
¾ÚÌÀ
³Æ¹à¤ò 1 ¤Ä¤º¤Ä¸¡¾Ú¤·¤Æ¤ß¤Þ¤¹¡£ÄêÍý 10 ¤è¤ê¡¢b c = (b + c ) (1 +¦Ä1) (¤¿¤À¤·¦Ä1 ¤ÏÁêÂÐ¸íº¹¡¢|¦Ä1| ¡å 2¦Å) ¤òƳ¤¯¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ºÇ½é¤Î¹à¤ÎÃͤÏ
(a (b c)) = (a +(b c)) (1 +¦Ä2) = (a +(b + c) (1 +¦Ä1)) (1 +¦Ä2) ¤Ë¤Ê¤ê¡¢¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
(a + b + c) (1 - 2¦Å)2 ¡å [a + (b + c) (1 - 2¦Å)] × (1-2¦Å)
¡å a (b c)
¡å [a + (b + c) (1 + 2¦Å)] (1 + 2¦Å)
¡å (a + b + c) (1 + 2¦Å)2
¤¹¤Ê¤ï¤Á¡¢¦Ç1 ¤¬ 1 ¤Ä¤Ê¤Î¤Ç¡¢¼¡¤Î¸ø¼°¤¬À®¤êΩ¤Á¤Þ¤¹¡£
(a (b c)) = (a + b + c) (1 + ¦Ç1)2, |¦Ç1| ¡å 2¦Å (24)
¼¡¤Î¹à¤Ë¤Ï¡¢a b ¤Ë´Ý¤á¸íº¹¤ò´Þ¤à¤³¤È¤¬¤¢¤ë¤Î¤Ç¡¢c ¤È a b ¤Ë°­À­¤Î¸º»»¤òȼ¤¦²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£a¡¢b¡¢c ¤Ï»°³Ñ·Á¤Î 3 ÊÕ (a ¡å b + c ) ¤ò¤Ê¤·¡¢¤³¤Î¼°¤ò
c ¡å b ¡å a ¤Î½ç½ø¤ÈÁȤ߹ç¤ï¤»¤ë¤È¡¢a ¡å b + c ¡å 2b ¡å 2a ¤È¤Ê¤ê¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢
a - b ¤ÏÄêÍý 11 ¤Î¾ò·ï¤òËþ¤¿¤·¤Þ¤¹¡£¤¹¤Ê¤ï¤Á a - b = a b ¤ÏÀµ¤·¤¤¤³¤È¤Ë¤Ê¤ê¡¢c (a - b) ¤È¤¤¤¦¸º»»¤Ï̵³²¤Ê¤Î¤Ç¡¢ÄêÍý 9 ¤«¤é¼¡¤Î¤è¤¦¤ËƳ¤¯¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
(c (a b)) = (c - (a - b)) (1 +¦Ç2), |¦Ç2| ¡å 2¦Å (25)
3 ¤ÄÌܤιà¤Ï¡¢2 ¤Ä¤ÎÀµ³Î¤ÊÀµ¿ô¤ÎϤò·×»»¤¹¤ë¤â¤Î¤Ê¤Î¤Ç¡¢¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
(c (a b)) = (c + (a - b)) (1 + ¦Ç3), |¦Ç3| ¡å 2¦Å (26)
ºÇ¸å¤Î¹à¤Ï¡¢ÄêÍý 9 ¤È 10 ¤Ë¤â¤È¤Å¤¤¤Æ¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
(a (b c)) = (a + (b - c)) (1 + ¦Ç4)2, |¦Ç4| ¡å 2¦Å (27)
x y = xy (1+¦Î) (¤¿¤À¤·|¦Î | ¡å¦Å) ¤È¤Ê¤ë¤è¤¦¤Ë¡¢¾è»»¤òÀµ³Î¤Ë´Ý¤á¤ë¤È¡¢¸ø¼° (24)¡¢ (25)¡¢ (26)¡¢ (27) ¤ÎÁȤ߹ç¤ï¤»¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
(a (b c)) (c (a b)) (c (a b)) (a (b c))
¡å(a + (b + c)) (c - (a - b)) (c + (a - b)) (a + (b - c)) E
¤¿¤À¤·¡¢
E = (1 + ¦Ç1)2 (1 +¦Ç2) (1 + ¦Ç3) (1 +¦Ç4)2 (1 + ¦Æ1)(1 + ¦Æ2) (1 + ¦Æ3)
E ¤Î¾å¸Â¤Ï¡¢ (1 + 2¦Å)6(1 +¦Å)3 ¤È¤Ê¤ê¡¢ÈÏ°Ï¤Ï 1 + 15¦Å+ O (¦Å2) ¤È¤Ê¤ê¤Þ¤¹¡£ºîÀ®¼Ô¤Ë¤è¤Ã¤Æ¤Ï O (e2) ¤òñ¤Ë̵»ë¤¹¤ë¾ì¹ç¤â¤¢¤ê¤Þ¤¹¤¬¡¢¤³¤ì¤Ï´Êñ¤ËÀâÌÀ¤Ç¤­¤Þ¤¹¡£
(1 + 2¦Å)6(1 +¦Å) 3 = 1 + 15¦Å+¦ÅR(¦Å)¤Èµ­½Ò¤¹¤ë¤È¡¢R(¦Å) ¤ÏÀµ¤Î·¸¿ô¤ò»ý¤Ä e ¤Î¿¹à¼°¤È¤Ê¤ë¤Î¤Ç¡¢¦Å¤ÎÁ²Áý´Ø¿ô¤Ë¤Ê¤ê¤Þ¤¹¡£R (0.005 ) = 0.505 ¤Ê¤Î¤Ç¡¢¦Å< 0.005 ¤Ë¤Ï¤¹¤Ù¤Æ R(¦Å)< 1 ¤È¤Ê¤ê¡¢E ¡å (1 + 2¦Å)6(1+¦Å)3 < 1 + 16¦Å¤¬À®¤êΩ¤Á¤Þ¤¹¡£
E ¤Î²¼¸Â¤òµá¤á¤ë¾ì¹ç¡¢1 - 15¦Å - ¦ÅR(¦Å ) < E ¤È¤Ê¤ë¤Î¤Ç¡¢¦Å< 0.005 ¤Î¤È¤­¡¢
1 - 16¦Å< (1 - 2¦Å)6(1 - ¦Å)3 ¤Ë¤Ê¤ê¤Þ¤¹¡£¤³¤ì¤é 2 ¤Ä¤ÎÈϰϤòÁȤ߹ç¤ï¤»¤ë¤È¡¢
1 - 16¦Å< E < 1 + 16¦Å¤Ë¤Ê¤ê¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢ÁêÂÐ¸íº¹¤ÏºÇÂç 16¦Å¤Ç¤¹¡£¢£

ÄêÍý 12 ¤Ï¡¢¸ø¼° (7) ¤Ë°­À­¤ÎÁ껦¤Ïµ¯¤­¤Ê¤¤¤³¤È¤ò¾ÚÌÀ¤¹¤ë¤â¤Î¤Ç¤¹¡£¤³¤³¤Ç¸ø¼° (7) ¤¬¿ôÃÍŪ¤Ë°ÂÄꤷ¤Æ¤¤¤ë¤³¤È¤ò¾ÚÌÀ¤¹¤ë¤Þ¤Ç¤â¤¢¤ê¤Þ¤»¤ó¤¬¡¢¸ø¼°Á´ÂΤÎÍ­¸úÈÏ°Ï (¡ÖÁ껦¡×¤Ë¼¨¤¹ÄêÍý 3 ¤Ç·è¤Þ¤ëÈÏ°Ï) ¤òµ¬Äꤷ¤Æ¤ª¤¯¤Î¤¬¤è¤¤ÊýË¡¤Ç¤¹¡£

ÄêÍý 3 ¤Î¾ÚÌÀ

¼¡¤Î¤è¤¦¤Ë²¾Äꤷ¤Þ¤¹¡£
q = (a + (b + c)) (c - (a - b)) (c + (a - b)) (a + (b - c))
¤ª¤è¤Ó
Q = (a (b c)) (c (a b)) (c (a b)) (a (b c))
ÄêÍý 12 ¤Ë¤è¤ê¡¢Q = q (1 +¦Ä) (¤¿¤À¤·¦Ä¡å16¦Å) ¤¬À®¤êΩ¤Á¤Þ¤¹¡£
¦Ä¡å0.04/ (0.52) 2 0.15¤È²¾Äꤹ¤ì¤Ð¡¢¼¡¤Î¼°¤Ï¡¢´Êñ¤Ë¥Á¥§¥Ã¥¯¤Ç¤­¤Þ¤¹¡£

(28)
¤Þ¤¿¡¢|¦Ä| ¡å 16¦Å ¡å 16 (0.005 ) = 0.08 ¤È¤Ê¤ë¤Î¤Ç¡¢¦Ä¤¬¾ò·ï¤òËþ¤¿¤¹¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢|¦Ä1| ¡å 0.52|¦Ä| ¡å 8.5¦Å¤Î¾ì¹ç¡¢ ¤È¤Ê¤ê¤Þ¤¹¡£
¸íº¹¤ò 0.5 ulp °ÊÆâ¤È¤·¤ÆÊ¿Êýº¬¤ò·×»»¤¹¤ë¤È¡¢ ¤ò·×»»¤¹¤ë¤È¤­¤Î¸íº¹¤Ï¡¢|¦Ä2| ¡å¦Å¤Î¾ì¹ç¤Ë¡¢(1 +¦Ä1) (1 +¦Ä2) ¤Ë¤Ê¤ê¤Þ¤¹¡£¦Â= 2 ¤Î¾ì¹ç¡¢4 ¤Ç½ü»»¤ò¤·¤¿¾ì¹ç¤Ç¤â¤³¤ì°Ê³°¤Î¸íº¹¤ÏƳÆþ¤µ¤ì¤Þ¤»¤ó¡£¤½¤Î¾¤Î¾ì¹ç¡¢½ü»»¤Ë¤Ï¤â¤¦ 1 ¤Ä¤Î°ø¿ô
1 +¦Ä3 (|¦Ä3| ¡å¦Å)¤¬É¬Íפǡ¢¤Þ¤¿¡¢ÄêÍý 12 ¤Î¾ÚÌÀ¤Ë¼¨¤·¤¿ÊýË¡¤Ë¤è¤Ã¤Æ¡¢
(1 +¦Ä1) (1 +¦Ä2) (1 +¦Ä3) ¤ÎºÇ½ªÅª¤Ê¸íº¹¤ÎÈÏ°Ï¤Ï 1 +¦Ä4 ¤Ë°Í¸¤·¤Þ¤¹
(¤¿¤À¤· |¦Ä4| ¡å 11¦Å)¡£¢£

ÄêÍý 4 ¤Îľ¸å¤Ë¼¨¤·¤¿µ¢Ç¼Åª¤ÊÀâÌÀ¤ò¤µ¤é¤ËÀµ³Î¤Ëɽ¸½¤Ç¤­¤ë¤è¤¦¤Ë¡¢¼¡¤ÎÄêÍý¤Ï ¦Ì(x) ¤¬¤É¤ì¤Û¤ÉÄê¿ô¤ËÀ᤹ܶ¤ë¤«¤ò¼¨¤·¤¿¤â¤Î¤Ç¤¹¡£

ÄêÍý 13

¦Ì(x) = ln (1+ x)/x ¤È¤¹¤ë¤È¡¢0 ¡å x ¡å ¤Î¾ì¹ç¡¢ ¡å ¦Ì(x) ¡å 1 ¤Ë¤Ê¤ê¡¢¤³¤ÎÈùʬ¤Ï

|¦Ì'(x)| ¡å ¤òËþ¤¿¤¹¤³¤È¤Ë¤Ê¤ë¡£

¾ÚÌÀ

¦Ì(x) = 1 - x/2 + x2/3 - ...¤Ï²¼¹ß¹à¤Î¸òÂåµé¿ô¤Ê¤Î¤Ç¡¢x ¡å 1 ¤Î¾ì¹ç¡¢
¦Ì(x) ¡æ 1 - x/2 ¡æ ¤È¤Ê¤ê¤Þ¤¹¡£¦Ì¤Îµé¿ô¤ÏÆþ¤ìÂå¤ï¤Ã¤Æ¦Ì(x)¡å 1¤È¤Ê¤ë¤³¤È¤Ï´Êñ¤Ë³Îǧ¤Ç¤­¤Þ¤¹¡£¤Þ¤¿ ¦Ì¡ì(x) ¤Î¥Æ¥¤¥é¡¼µé¿ô¤âÆþ¤ìÂå¤ï¤ê¤Þ¤¹¡£
x ¡å 3/4 ¤Ï²¼¹ß¹à¤Ê¤Î¤Ç¡¢- ¡å¦Ì¡ì(x) ¡å - + 2x/3¡¢¤Þ¤¿¤Ï - ¡å ¦Ì' (x) ¡å 0 ¤È¤Ê¤ë¤Î¤Ç¡¢|¦Ì¡ì(x) | ¡å ¤È¤Ê¤ê¤Þ¤¹¡£¢£
ÄêÍý 4 ¤Î¾ÚÌÀ
ln ¤ËÂФ¹¤ë¥Æ¥¤¥é¡¼µé¿ô¡¢

¤Ï¸òÂåµé¿ô¡¢0 < x -ln (1 + x) < x2/2 ¤Ê¤Î¤Ç¡¢ln (1 + x) ¤ò x ¤Ç¶á»÷¤µ¤»¤ë¤È¤­¤ÎÁêÂÐ¸íº¹¤Ï x/2 ¤Ë¤è¤êÈϰϤ¬·è¤Þ¤ê¤Þ¤¹¡£1 x = 1 ¤Î¾ì¹ç¡¢|x|<¦Å¤È¤Ê¤ë¤Î¤Ç¡¢ÁêÂÐ¸íº¹¤ÎÈÏ°Ï¤Ï ¦Å/2¤È¤Ê¤ê¤Þ¤¹¡£

1 x ¡â1 ¤Î¾ì¹ç¡¢1 x = 1 + ¤Ë¤è¤Ã¤Æ ¤òÄêµÁ¤·¤Þ¤¹¡£0¡å x < 1 ¤Î¤È¤­¡¢
(1 x) 1 = ¤Ç¤¹¡£

½ü»»¤ÈÂпô¤ò ulp °ÊÆâ¤ÎÈϰϤǷ׻»¤·¤¿¾ì¹ç¡¢ln (1 + x)/((1 + x) - 1) ¤Î¼°¤Î·×»»Ãͤϼ¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£

(1 + 1) (1 + 2) = (1 + 1) (1 + 2) = µ( ) (1 + 1) (1 + 2) (29)

¤³¤³¤Ç¡¢|¦Ä1| ¡å ¦Å ¡¢|¦Ä2| ¡å ¦Å ¤Ç¤¹¡£¦Ì( ) ¤Î³µ»»¤òµá¤á¤ë¤Ë¤Ï¡¢x ¤«¤é ¤Î´Ö¤ÎÆÃÄê¤Î¦Î¤ËÂФ·¤Æ¡¢¼¡¤ÎÊ¿¶ÑÃͤÎÄêÍý¤ò»ÈÍѤ·¤Þ¤¹¡£

¦Ì( ) - ¦Ì(x) = ( - x)¦Ì¡ì(¦Î) (30)
¤ÎÄêµÁ¤«¤é¡¢| - x| ¡å¦Å¤È¤Ê¤ê¡¢¤³¤ì¤òÄêÍý 13 ¤ÈÁȤ߹ç¤ï¤»¤ë¤È¡¢
|¦Ì( ) - ¦Ì(x)|¡å ¦Å/2¡¢¤Þ¤¿¤Ï |¦Ì( )/¦Ì(x) - 1| ¡å¦Å/(2|¦Ì(x)|)¡å¦Å¤È¤Ê¤ê¤Þ¤¹¡£¤¹¤Ê¤ï¤Á |¦Ä3|¡å¦Å¤Î¾ì¹ç¤Ë¦Ì( ) = ¦Ì(x)(1 +¦Ä 3) ¤È¤Ê¤ê¤Þ¤¹¡£ºÇ¸å¤Ë x ¤Ç¾è»»¤¹¤ë¤È¡¢ºÇ½ªÅª¤Ë ¦Ä4 ¤¬Æ³Æþ¤µ¤ì¤ë¤Î¤Ç¡¢x¡¦ln (1 x)/((1 x) 1) ¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£

¦Å< 0.1 ¤Ç¤¢¤ì¤Ð¡¢ (1 +¦Ä1) (1 +¦Ä2) (1 +¦Ä3) (1 +¦Ä4) = 1 +¦Ä (¤¿¤À¤·|¦Ä|¡å 5¦Å ¤Î¾ì¹ç) ¤È¤Ê¤ê¤Þ¤¹¡£¢£

¸ø¼° (19)¡¢ (20)¡¢ (21) ¤ò»ÈÍѤ·¤¿¸íº¹Ê¬ÀϤζ½Ì£¿¼¤¤Îã¤Ï¡¢Æó¼¡ÊýÄø¼°¤Îº¬¤Î¸ø¼° ¤Ë¸«¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¡ÖÁ껦¡×¤Ç¡¢ÊýÄø¼°¤ò½ñ¤­´¹¤¨¤ë¤³¤È¤Ë¤è¤ê¡¢¡Þ¤ÎÁàºî¤¬¸¶°ø¤Çµ¯¤­¤ë²ÄǽÀ­¤Î¤¢¤ëÁ껦¤ò¤¤¤«¤Ë½üµî¤Ç¤­¤ë¤«¤ò¼¨¤·¤Þ¤·¤¿¡£¤·¤«¤·¡¢d = b 2 - 4ac ¤Î·×»»»þ¤Ëµ¯¤­¤ë²ÄǽÀ­¤Î¤¢¤ëÁ껦¤¬¤â¤¦ 1 ¤Ä¤¢¤ê¤Þ¤¹¡£¤³¤ÎÁ껦¤Ï¡¢Ã±¤Ë¸ø¼°¤òÆþ¤ì´¹¤¨¤ë¤À¤±¤Ç¤Ï¼è¤ê½ü¤¯¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£´Êñ¤Ë¸À¤¦¤È¡¢b2 4ac ¤Î¤È¤­¡¢´Ý¤á¸íº¹¤Ë¤è¤ê¡¢Æó¼¡ÊýÄø¼°¤Îº¬¤Î¸ø¼°¤Ç·×»»¤¹¤ëº¬¤ÎȾʬ¤Î·å¤Þ¤Ç±øÀ÷¤µ¤ì¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£¤³¤³¤Ç¡¢Î¬¼°¤Î¾ÚÌÀ¤ò¼¨¤·¤Þ¤¹ (Æó¼¡ÊýÄø¼°¤Îº¬¤Î¸ø¼°¤Î¸íº¹¤ò½üµî¤¹¤ë¤¿¤á¤ÎÊ̤Υ¢¥×¥í¡¼¥Á¤Ï Kahan (1972) ¤Î»ñÎÁ¤Ë¾Ò²ð¤µ¤ì¤Æ¤¤¤Þ¤¹)¡£

b2 4ac ¤Î¾ì¹ç¡¢´Ý¤á¸íº¹¤Ë¤è¤ê¡¢Æó¼¡ÊýÄø¼°¤Îº¬¤Î¸ø¼° ¤Ç·×»»¤¹¤ëº¬¤Î·å¤ÎȾʬ¤Þ¤Ç±øÀ÷¤µ¤ì¤ë²ÄǽÀ­¤¬¤¢¤ë¡£

¾ÚÌÀ¡§

(b b) (4a c) = (b2 (1 +¦Ä1) - 4ac (1 +¦Ä2)) (1+¦Ä3) (¤¿¤À¤· |¦Äi| ¡å¦Å) ¤È¤Ê¤ê¤Þ¤¹¡£30

d = b2 - 4ac ¤ò»ÈÍѤ¹¤ë¤È¡¢ (d(1 +¦Ä1) - 4ac(¦Ä2 - ¦Ä1)) (1 +¦Ä3) ¤Î¤è¤¦¤ËºÆ½ñ¤­¹þ¤ß¤µ¤ì¤Þ¤¹¡£

¤³¤Î¸íº¹¤Î¥µ¥¤¥º¤ò¸«ÀѤâ¤ë¤Ë¤Ï¡¢¦Äi ¤ÎÂè 2 ¹à¤ò̵»ë¤·¤Þ¤¹¡£¤³¤Î¾ì¹ç¤ÎÀäÂÐ¸íº¹¤Ï
d (¦Ä1+¦Ä3) - 4ac¦Ä4 ¤È¤Ê¤ê¤Þ¤¹ (¤¿¤À¤· |¦Ä4| = |¦Ä1-¦Ä2|¡å 2¦Å¤Ç¤¹)¡£ ¤Ç¤¢¤ë¤¿¤á¡¢Âè 1 ¹à d (¦Ä1+¦Ä3) ¤Ï̵»ë¤Ç¤­¤Þ¤¹¡£
Âè 2 ¹à¤ò¸«ÀѤâ¤ë¾ì¹ç¤Ï¡¢ax2 + bx + c = a (x - r1) (x - r2) ¤È¤¤¤¦»ö¼Â¤Ë¤â¤È¤Å¤­¡¢
ar1r2 = c ¤È¤Ê¤ê¤Þ¤¹¡£b2 4ac ¤Î¾ì¹ç¡¢r1 r2 ¤È¤Ê¤ë¤Î¤Ç¡¢Âè 2 ¤Î¹à¤Ï
4ac¦Ä4 4a2 r 1¦Ä42 ¤È¤Ê¤ê¤Þ¤¹¡£

¤·¤¿¤¬¤Ã¤Æ¡¢ ¤Î·×»»ÃÍ¤Ï ¤È¤Ê¤ê¤Þ¤¹¡£

¼¡¤ÎÉÔÅù¼°


¤Ï¡¢ (¤¿¤À¤· ) ¤Ç¤¢¤ë¤³¤È¤ò¼¨¤¹¤Î¤Ç¡¢

a ¤ÎÀäÂÐ¸íº¹¤ÏÌó ¤È¤Ê¤ê¡¢º¬ r1 r2 ¤Î²¼°ÌȾʬ¤òÇ˲õ¤·¤Þ¤¹¡£

¦Ä4 ¦Â-p ¤Ê¤Î¤Ç¡¢ ¤È¤Ê¤ê¡¢ÀäÂÐ¸íº¹¤Ï ¤Ë¤Ê¤ê¤Þ¤¹¡£

¤¹¤Ê¤ï¤Á¡¢Ê¿Êýº¬¤Î·×»»¤Ç¤Ï ¤Î·×»»¤òȼ¤¤¡¢¤³¤Î¼°¤Ç¤Ï ri ¤Î²¼°ÌȾʬ¤ËÂбþ¤¹¤ë°ÌÃ֤˰ÕÌ£¤Î¤¢¤ë¥Ó¥Ã¥È¤¬³ÊǼ¤µ¤ì¤Ê¤¤¤¿¤á¡¢ri ¤Î²¼°Ì¥Ó¥Ã¥È¤ÏÍ­°Õ¤Ë¤Ê¤ê¤Þ¤»¤ó¡£¢£

ºÇ¸å¤Ë¡¢ÄêÍý 6 ¤ò¸¡¾Ú¤·¤Æ¤ß¤Þ¤¹¡£¤³¤ì¤Ï¡¢¡ÖÄêÍý 14 ¤ÈÄêÍý 8¡×¤Î¹à¤Ç¾ÚÌÀ¤¹¤ë»ö¼Â¤Ë¤â¤È¤Å¤¯ÀâÌÀ¤Ç¤¹¡£

ÄêÍý 14
0 < k < p ¤È¤·¤Æ¡¢m = ¦Âk + 1 ¤ò¥»¥Ã¥È¤·¡¢ÉâÆ°¾®¿ôÅÀ±é»»¤¬Àµ³Î¤Ë·×»»¤µ¤ì¤ë¤â¤Î¤È²¾Äꤹ¤ë¡£ (m x) (m x x) ¤ÏÍ­°Õ·å p - k ¤Ë´Ý¤á¤¿Àµ³Î¤Ê x ¤È¤·¤Æ·×»»¤µ¤ì¤ë¡£¤µ¤é¤ËÀµ³Î¤Ë¸À¤¦¤È¡¢ºÇ²¼°Ì·å k ¤Îº¸¤Î°ÌÃ֤˴ð¿ô¥Ý¥¤¥ó¥È¤¬¤¢¤ë¤³¤È¤òÁ°Äó¤Ë¡¢À°¿ô¤Ë´Ý¤á¤ë¤³¤È¤Ë¤è¤ê¡¢x ¤¬Í­°Õ·å x ¤ò»ÈÍѤ·¤Æ´Ý¤á¤é¤ì¤ë¡£
ÄêÍý 6 ¤Î¾ÚÌÀ
ÄêÍý 14 ¤Ë¤è¤ê¡¢xh ¤Ï p - k =[p/2]¤Ë´Ý¤á¤é¤ì¤Þ¤¹¡£¥­¥ã¥ê¡¼¥¢¥¦¥È¤¬¤Ê¤±¤ì¤Ð¡¢xh ¤Ï [p/2] ¤ÎÍ­°Õ·å¤Çɽ¤ï¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¥­¥ã¥ê¡¼¥¢¥¦¥È¤¬¤¢¤ë¾ì¹ç¡¢
x = x0.x1 ... xp - 1 × ¦Âe ¤Ç¤¢¤ì¤Ð¡¢xp - k - 1 ¤Ë 1 ¤¬²Ã»»¤µ¤ì¤Þ¤¹¡£¥­¥ã¥ê¡¼¥¢¥¦¥È¤¬Â¸ºß¤Ç¤­¤ë¤Î¤Ï xp - k - 1 =¦Â-1 ¤Î¾ì¹ç¤À¤±¤Ë¸Â¤é¤ì¡¢xh ¤Î²¼°Ì·å¤Ï 1 + xp - k - 1=0 ¤È¤Ê¤ë¤Î¤Ç¡¢xh ¤Ï [p/2] ·å¤Çɽ¸½¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
xl ¤ò°·¤¨¤ë¤è¤¦¤Ë¡¢ ¦Âp-1 ¡å x ¡å ¦Âp -1 ¤òËþ¤¿¤¹À°¿ô¤Ë x ¤ò´ð½à²½ (¥¹¥±¡¼¥ë) ¤·¤Þ¤¹¡£ (¤¿¤À¤· ¤Ï x ¤Î¾å°Ì·å p - k ¤Ç¡¢ ¤Ï²¼°Ì·å k) ¤È¤·¤Þ¤¹¡£

¹Íθ¤¹¤Ù¤­¥±¡¼¥¹¤¬ 3 ¤Ä¤¢¤ê¤Þ¤¹¡£ ¤Î¾ì¹ç¡¢p - k ·å¤Ë x ¤ò´Ý¤á¤ëÁàºî¤Ï¥Á¥ç¥Ã¥Ô¥ó¥°¡¢¤ª¤è¤Ó xh = ¡¢xl = ¤ÈƱ¤¸¤Ë¤Ê¤ê¤Þ¤¹¡£ ¤ÎºÇÂç·å¤Ï k ¤Ê¤Î¤Ç¡¢p ¤¬¶ö¿ô¤Î¾ì¹ç¡¢ ¤ÎºÇÂç·å¤Ï k =[p/2] =[p/2]¤È¤Ê¤ê¤Þ¤¹¡£

¤³¤ì°Ê³°¤Î¾ì¹ç¤Ï¡¢b = 2¡¢¤ª¤è¤Ó < 2k-1 ¤Ï¡¢Í­°Õ·å -1 ¡å [p/2] ¤Çɽ¤ï¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£2 ¤ÄÌܤΥ±¡¼¥¹¤Ï¡¢ > (¦Â/2 ) ¦Âk-1 ¤Î¾ì¹ç¤Ç¡¢xh ¤ò·×»»¤¹¤ë¤ÈÀÚ¤ê¾å¤²¤¬¹Ô¤ï¤ì¤ë¤Î¤Ç¡¢xh= +¦Âk ¤Ë¤Ê¤ê¡¢x1 = x - xh = x - -¦Âk = -¦Âk ¤Ë¤Ê¤ê¤Þ¤¹¡£ ¤ÎºÇÂç·å¤Ï k ¤Ë¤Ê¤ë¤Î¤Ç¡¢[p/2] ¤Çɽ¸½¤Ç¤­¤Þ¤¹¡£ºÇ¸å¤Î = (¦Â/2 ) ¦Âk-1 ¤Î¾ì¹ç¡¢ÀÚ¤ê¾å¤²¤Î̵ͭ¤Ë¤è¤Ã¤Æ¡¢xh= ¡¢¤Þ¤¿¤Ï + ¦Âk ¤È¤Ê¤ê¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢xl ¤Ï (¦Â/2 )¦Âk-1¡¢¤Þ¤¿¤Ï (¦Â/2 ) ¦Âk-1-¦Âk = - ¦Âk/2 ¤Ë¤Ê¤ê¡¢¤¤¤º¤ì¤â 1 ·å¤Çɽ¤ï¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¢£

ÄêÍý 6 ¤Ë¤è¤ê¡¢2 ¤Ä¤ÎÀºÅ٤οô¤òÀµ³Î¤ÊϤȤ·¤Æɽ¸½¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£Ï¤òÀµ³Î¤Ëɽ¤ï¤¹¤¿¤á¤Î¸ø¼°¤¬¤¢¤ê¤Þ¤¹¡£|x|¡æ |y|¤Î¤È¤­ x + y = (x y ) + (x (x y) ) y (Dekker 1971¡¢Knuth 1981¡¢Theorem C Âè 4.2.2 Àá)¡£¤¿¤À¤·Àµ³Î¤Ê´Ý¤áÁàºî¤ò»ÈÍѤ·¤¿¾ì¹ç¡¢¤³¤Î¸ø¼°¤Ï¡¢x = 0.99998¡¢ y = 0.99997 ¤ÎÎã¤Ë¼¨¤¹¤È¤ª¤ê¦Â= 2 ¤Î¾ì¹ç¤Ë¸Â¤ê¿¿¤Ë¤Ê¤ê¡¢¦Â= 10 ¤Ë¤ÏŬÍѤµ¤ì¤Þ¤»¤ó¡£

2 ¿Ê¿ô¤«¤é 10 ¿Ê¿ô¤Ø¤ÎÊÑ´¹

ñÀºÅ٤Ǥϡ¢p = 24¡¢224 < 108 ¤Ë¤Ê¤ë¤Î¤Ç¡¢2 ¿Ê¿ô¤«¤é 8 ·å¤Î 10 ¿Ê¿ô¤ËÊÑ´¹¤·¤Æ¤â¡¢¤â¤È¤Î 2 ¿Ê¿ô¤òÉü¸µ¤Ç¤­¤ë¤â¤Î¤È´üÂÔ¤·¤¬¤Á¤Ç¤¹¤¬¡¢¼ÂºÝ¤Ë¤Ï¤½¤¦¤Ç¤¢¤ê¤Þ¤»¤ó¡£

ÄêÍý 15

2 ¿Ê¤Î IEEE ñÀºÅÙ¿ô¤òºÇ¤â¶á¤¤ 8 ·å¤Î 10 ¿Ê¿ô¤ËÊÑ´¹¤·¤¿¾ì¹ç¡¢É¬¤º¤·¤â 10 ¿Ê¿ô¤«¤é¤â¤È¤Î 2 ¿Ê¿ô¤ò°ì°Õ¤ËÉü¸µ¤Ç¤­¤ë¤ï¤±¤Ç¤Ï¤Ê¤¤¡£¤¿¤À¤·¡¢9 ·å¤Î 10 ¿Ê¿ô¤ò»ÈÍѤ¹¤ì¤Ð¡¢10 ¿Ê¿ô¤«¤éºÇ¤â¶á¤¤ 2 ¿Ê¿ô¤Ø¤ÎÊÑ´¹¤Ë¤è¤ê¡¢¤â¤È¤ÎÉâÆ°¾®¿ôÅÀ¿ô¤¬Éü¸µ¤µ¤ì¤ë¡£

¾ÚÌÀ

2 ¿Ê¤ÎñÀºÅÙ¿ô¤ÏȾʬ³«¤¤¤¿´Ö³Ö [103, 210) = [1000, 1024) ¤Ë¸ºß¤¹¤ë¤Î¤Ç¡¢2 ¿Ê¾®¿ôÅÀ¤Î±¦Â¦¤Ë¤Ï 10 ¥Ó¥Ã¥È¡¢º¸Â¦¤Ë¤Ï 14 ¥Ó¥Ã¥È¤¬¤½¤ì¤¾¤ìÃÖ¤«¤ì¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢¤³¤Î´Ö³Ö¤ÎÃæ¤Ë·× (210 - 103)214 = 393,216 ¸Ä¤Î 2 ¿Ê¿ô¤¬Â¸ºß¤¹¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£10 ¿Ê¿ô¤ò 8 ·å¤Çɽ¤ï¤¹¤È¡¢Æ±¤¸´Ö³Ö¤Ë (210 -103 ) 104 = 240,000 ¸Ä¤Î 10 ¿Ê¿ô¤¬Â¸ºß¤·¤Þ¤¹¡£240,000 ¸Ä¤Î 10 ¿Ê¿ô¤Ç 393,216 ¸Ä¤Î 2 ¿Ê¿ô¤òɽ¸½¤¹¤ë¤³¤È¤¬¤Ç¤­¤Ê¤¤¤Î¤ÏÌÀ¤é¤«¤Ç¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢Ã±ÀºÅ٤Π2 ¿Ê¿ô¤ò°ì°Õ¤Ëɽ¸½¤¹¤ë¤Ë¤Ï¡¢8 ·å¤Î 10 ¿Ê¿ô¤Ç¤ÏÉÔ½½Ê¬¤È¤¤¤¦¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
9 ·å¤¢¤ì¤Ð½½Ê¬¤Ç¤¢¤ë¤È¤¤¤¦ÅÀ¤Ï¡¢³Æ 2 ¿Ê¿ô´Ö¤Î´Ö³Ö¤¬¤Ä¤Í¤Ë 10 ¿Ê¿ô¤É¤¦¤·¤Î´Ö³Ö¤è¤êÂ礭¤¤¤³¤È¤òÌÀ¤é¤«¤Ë¤¹¤ì¤Ð¡¢¼Â¾Ú¤µ¤ì¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢³Æ 10 ¿Ê¿ô N ¤´¤È¤Ë¡¢
[N - ulp, N + ulp] ¤Î´Ö³Ö¤ËºÇÂç 1 ¤Ä¤Î 2 ¿Ê¿ô¤¬´Þ¤Þ¤ì¤ë¤³¤È¤¬Êݾڤµ¤ì¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢³Æ 2 ¿Ê¿ô¤Ï¤½¤ì¤¾¤ì°ì°Õ¤Î 10 ¿Ê¿ô¤Ë´Ý¤á¤é¤ì¤ë°ìÊý¡¢10 ¿Ê¿ô¤Ï°ì°Õ¤Î 2 ¿Ê¿ô¤ËÊÑ´¹¤µ¤ì¤Þ¤¹¡£
2 ¿Ê¿ô¤É¤¦¤·¤Î´Ö³Ö¤¬ 10 ¿Ê¿ô¤Î´Ö³Ö¤è¤ê¤Ä¤Í¤ËÂ礭¤¤¤³¤È¤ò¾ÚÌÀ¤¹¤ë¤¿¤á¤Ë¡¢ [10n, 10n + 1] ¤È¤¤¤¦´Ö³Ö¤Î¾ì¹ç¤ò¹Í¤¨¤Æ¤ß¤Þ¤¹¡£¤³¤Î´Ö³Ö¤Î¾ì¹ç¡¢Ï¢Â³¤·¤¿ 10 ¿Ê¿ô¤Î´Ö³Ö¤Ï¡¢ 10 (n + 1) - 9 ¤Ë¤Ê¤ê¤Þ¤¹¡£ [10n, 2m] ¤Ç m ¤¬ºÇ¾®À°¿ô¤Î¾ì¹ç¡¢ 10n < 2m¡¢
2 ¿Ê¿ô¤É¤¦¤·¤Î´Ö³Ö¤Ï 2m - 24 ¤È¤Ê¤ê¡¢¤³¤Î´Ö³Ö¤Ï¤·¤À¤¤¤Ë¹­¤¯¤Ê¤ê¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢10(n + 1) - 9 < 2m - 24 ¤Ç¤¢¤ë¤³¤È¤ò³Îǧ¤¹¤ì¤Ð½½Ê¬¤È¤¤¤¦¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£¤·¤«¤·¼ÂºÝ¤Ë¤Ï¡¢10n < 2m ¤Ë¤Ê¤ë¤Î¤Ç¡¢10(n + 1) - 9 = 10n10-8 < 2m10-8 < 2m2-24 ¤È¤Ê¤ê¤Þ¤¹¡£¢£

Ʊ¤¸ÀâÌÀ¤òÇÜÀºÅ٤ξì¹ç¤Ë¤âŬÍѤ·¤Æ¡¢17 ·å¤Î 10 ¿Ê¿ô¤ò»ÈÍѤ¹¤ì¤Ð¡¢ÇÜÀºÅÙ¿ô¤ò°ì°Õ¤ËÉü¸µ¤Ç¤­¤ë¤³¤È¤ò¾ÚÌÀ¤Ç¤­¤Þ¤¹¡£

2 ¿Ê¿ô¤È 10 ¿Ê¿ô¤ÎÊÑ´¹¤Ï¡¢¥Õ¥é¥°¤Î»ÈÍѤ˴ؤ¹¤ëÎã¤Ë¤âŬÍѤµ¤ì¤Þ¤¹¡£¡ÖÀºÅ١פǡ¢10 ¿Ê¿ô¤Î³ÈÄ¥¤«¤é 2 ¿Ê¿ô¤òÉü¸µ¤¹¤ë¤Ë¤Ï¡¢10 ¿Ê¿ô¤«¤é 2 ¿Ê¿ô¤Ø¤ÎÊÑ´¹¤òÀµ³Î¤Ë¼Â¹Ô¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤ÈÀâÌÀ¤·¤Þ¤·¤¿¡£¤³¤ÎÊÑ´¹¤Ï¡¢³ÈĥñÀºÅÙ¥Õ¥©¡¼¥Þ¥Ã¥È¤Î N ¤È 10|P| (¤¤¤º¤ì¤â p < 13 ¤Î¾ì¹ç¤ÏÀµ³Î¤Ê¿ô) ¤ò¾è¤¸¤¿¸å¡¢¤³¤ì¤òñÀºÅ٤˴ݤá¤ë¤³¤È¤Ë¤è¤Ã¤Æ¹Ô¤¤¤Þ¤¹(p < 0 ¤Î¾ì¹ç¤Ï½ü»»¤Ç¡¢¤¤¤º¤ì¤Î¾ì¹ç¤âƱ¤¸Áàºî) ¡£N ס¦10|P| ¤Î·×»»¤¬Àµ³Î¤Ç¤Ê¤¤¤³¤È¤Ï¸À¤¦¤Þ¤Ç¤â¤¢¤ê¤Þ¤»¤ó¡£³ÈĥñÀºÅÙ¤«¤éñÀºÅÙ¤ËÊÑ´¹¤¹¤ëÀµ³Î¤Ê´Ý¤áÁàºî¤òÁȤ߹ç¤ï¤»¤¿¤â¤Î (N¡¦10|P|) ¤Ç¤¢¤ë¤«¤é¤Ç¤¹¡£Àµ³Î¤µ¤ò·ç¤¯²ÄǽÀ­¤Î¤¢¤ëÍýͳ¤ò¸«¤ë¤¿¤á¤Ë¡¢¦Â= 10¡¢p = 2 (ñÀºÅ٤ξì¹ç) ¡¢¤Þ¤¿ p = 3 (³ÈĥñÀºÅ٤ξì¹ç) ¤Îñ½ã¤Ê¥±¡¼¥¹¤ò¹Í¤¨¤Æ¤ß¤Þ¤¹¡£ÀѤ¬ 12.51 ¤Î¾ì¹ç¡¢¤³¤ì¤Ï³ÈĥñÀºÅ٤ξ軻¤Î 1 Éô¤È¤·¤Æ 12.5 ¤Ë´Ý¤á¤é¤ì¤Þ¤¹¡£Ã±ÀºÅ٤˴ݤá¤ë¤È¡¢12 ¤Ë¤Ê¤ê¤Þ¤¹¡£¤·¤«¤·¡¢ÀÑ 12.51 ¤òñÀºÅ٤˴ݤá¤ë¤È 13 ¤Ë¤Ê¤ë¤Î¤Ç¡¢²ò¤ÏÀµ¤·¤¯¤¢¤ê¤Þ¤»¤ó¡£¤³¤Î¸íº¹¤ÏÇÜÀºÅ٤ˤè¤ë´Ý¤á¤Ë¤è¤Ã¤Æµ¯¤­¤¿¤â¤Î¤Ç¤¹¡£

IEEE ¥Õ¥é¥°¤ò»ÈÍѤ¹¤ë¤³¤È¤Ë¤è¤ê¡¢¤³¤ÎÇÜÀºÅ٤δݤá¸íº¹¤òÈò¤±¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤Þ¤º¡¢ÉÔÀµ³Î¤Ê¥Õ¥é¥°¤Î¸½ºß¤ÎÃͤòÊݸ¤·¤Æ¡¢¤³¤ì¤ò¥ê¥»¥Ã¥È¤·¤Þ¤¹¡£´Ý¤á¥â¡¼¥É¤ò¡Ö¥¼¥í¤Ø¤Î´Ý¤á¡×¤Ë¥»¥Ã¥È¤·¤Þ¤¹¡£¤³¤Î¸å¡¢N¡¦10|P| ¤ò·×»»¤·¤Þ¤¹¡£ÉÔÀµ³Î¥Õ¥é¥°¤Î¿·¤·¤¤Ãͤò ixflag ¤Ë³ÊǼ¤·¤Æ¡¢´Ý¤á¥â¡¼¥É¤ÈÉÔÀµ³Î¥Õ¥é¥°¤ò¥ê¥¹¥È¥¢¤·¤Þ¤¹¡£ixflag ¤¬ 0 ¤Ç¤¢¤ì¤Ð¡¢N¡¦10|P| ¤ÏÀµ³Î¤Ë¤Ê¤ë¤Î¤Ç¡¢(N¡¦10|P|) ¤òºÇ½ª¥Ó¥Ã¥È¤Þ¤ÇÀµ³Î¤Ë´Ý¤á¤Þ¤¹¡£¤Þ¤¿ ixflag ¤¬ 1 ¤Ç¤¢¤ì¤Ð¡¢¡Ö¥¼¥í¤Ø¤Î´Ý¤á¡×¤Ç¤Ïɬ¤ºÀÚ¤ê¼Î¤Æ¤¬¹Ô¤ï¤ì¤ë¤Î¤Ç¡¢·å¤¬Íî¤Á¤Æ¤¤¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£ÀѤÎÍ­°Õ·å¤Ï¡¢1.b1...b22b23...b31 ¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ÇÜÀºÅ٤δݤá¸íº¹¤Ï¡¢b23 ...b31 = 10...0 ¤Î¾ì¹ç¤Ëµ¯¤­¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤é¤Î¥±¡¼¥¹¤ò¸¡¾Ú¤¹¤ë¤Ë¤Ï¡¢Ã±¤Ë b31 ¤ËÂФ· ixflag ¤ÎÏÀÍý OR ¤ò¼Â¹Ô¤·¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê (N¡¦10|P|) ¤Î´Ý¤áÁàºî¤Ï¡¢¤¹¤Ù¤Æ¤Î¥±¡¼¥¹¤Ë¤Ä¤¤¤ÆÀµ¤·¤¯¼Â¹Ô¤µ¤ì¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£

²ÃË¡¤Î¸íº¹

¡ÖºÇŬ²½¥×¥í¥°¥é¥à¡×¤Ç¤Ï¡¢Ä¹Âç¤ÊϤòÀµ³Î¤Ë·×»»¤¹¤ë¤È¤­¤ÎÌäÂê¤ò»ØŦ¤·¤Þ¤·¤¿¡£¤³¤ÎÀºÅÙ¤ò²þÁ±¤¹¤ë¤¿¤á¤ÎºÇ¤â´Êñ¤Ê¥¢¥×¥í¡¼¥Á¤Ï¡¢ÀºÅÙ¤òÇܲ乤뤳¤È¤Ç¤¹¡£ÀºÅÙ¤òÇܲä·¤¿·ë²Ì¡¢Ï¤ÎÀºÅÙ¤¬¤É¤ÎÄøÅÙ²þÁ±¤µ¤ì¤ë¤«¤ò³µ»»¤¹¤ë¾ì¹ç¤Ë¡¢s1 = x1¡¢s2 = s1   x2..., si = si - 1 xi ¤È¤·¤Þ¤¹¡£¼¡¤Ë¡¢si = (1 + ¦Äi) (si - 1 + xi) (¤¿¤À¤·|¦Äi | ¡å¦Å) ¤È¤·¤Æ¡¢¦Äi ¤ÎÂè 2 ¹à¤ò̵»ë¤¹¤ë¤È¡¢¼¡¤Î¼°¤¬ÆÀ¤é¤ì¤Þ¤¹¡£

(31)

¸ø¼° (31) ¤ÎºÇ½é¤ÎÅù¼°¤Ë¤è¤ê¡¢ ¤Î·×»»Ãͤϡ¢xj ¤ÎÀÝÆ°ÃͤËÀµ³Î¤Ê²ÃË¡¤ò¼Â¹Ô¤·¤¿¾ì¹ç¤ÈƱ¤¸¤Ë¤Ê¤ê¤Þ¤¹¡£ºÇ½é¤Î¹à x1 ¤Ï n¦Å¤Ë¤è¤Ã¤ÆÀÝÆ°¤µ¤ì¡¢ºÇ¸å¤Î¹à xn ¤Ï¦Å¤Ë¤è¤Ã¤ÆÀÝÆ°¤µ¤ì¤Þ¤¹¡£¸ø¼° (31) ¤Î 2 ¤ÄÌܤÎÅù¼°¤Ï¡¢¸íº¹¤ÎÈϰϤ¬ ¤Ë¤è¤Ã¤Æµ¬Äꤵ¤ì¤ë¤³¤È¤ò¼¨¤¹¤â¤Î¤Ç¤¹¡£ÀºÅÙ¤òÇܲ乤ë¤È¡¢¦Å¤¬Æó¾è¤µ¤ì¤Þ¤¹¡£IEEE ÇÜÀºÅÙ¥Õ¥©¡¼¥Þ¥Ã¥È¤ÇϤòµá¤á¤ë¤È¡¢1/¦Å 1016 ¤Ë¤Ê¤ë¤Î¤Ç¡¢n ¤ÎÂÅÅö¤ÊÃͤˤĤ¤¤Æ ¤È¤Ê¤ê¤Þ¤¹¡£
¤·¤¿¤¬¤Ã¤Æ¡¢ÀºÅÙ¤òÇܲ乤ë¤È¡¢n¦Å¤ÎºÇÂçÀÝÆ°¤¬Å¬ÍѤµ¤ì¡¢ ¤ËÊѹ¹¤µ¤ì¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢Kahan ¤Î²ÃË¡¸ø¼°¤Ë´Ø¤¹¤ë 2¦Å¤È¤¤¤¦¸íº¹ÈÏ°Ï (ÄêÍý 8) ¤Ï¡¢Ã±ÀºÅÙ¤è¤ê¤â¤Ï¤ë¤«¤Ë²þÁ±¤µ¤ì¤ë¤â¤Î¤Î¡¢ÇÜÀºÅ٤ξì¹ç¤Û¤É¤ÎÀºÅÙ¤ÏÆÀ¤é¤ì¤Ê¤¤¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£

Kahan ¤Î²ÃË¡¸ø¼°¤¬Í­¸ú¤Ë¤Ê¤ëÍýͳ¤ò¤ï¤«¤ê¤ä¤¹¤¯ÀâÌÀ¤¹¤ë¤¿¤á¤Ë¡¢¼¡¤Î¿Þ¤Ë½¾¤Ã¤Æ¹Í¤¨¤Æ¤ß¤Þ¤¹¡£

¡¡

²ÃË¡¤ò¼Â¹Ô¤¹¤ë¤¿¤Ó¤Ë¡¢¼¡¤Î¥ë¡¼¥×¤ËŬÍѤµ¤ì¤ë·¸¿ô C ¤¬½¤Àµ¤µ¤ì¤Þ¤¹¡£¤Þ¤º¡¢Á°¤Î¥ë¡¼¥×¤Ç·×»»¤·¤¿½¤ÀµÃÍ C ¤ò Xj ¤«¤é¸º»»¤·¤Æ¡¢Àµ¤·¤¯²Ã¿ô Y ¤òµá¤á¤Þ¤¹¡£¼¡¤Ë¤³¤Î²Ã¿ô¤ò¸½ºß¤ÎϤ˲û»¤·¤Þ¤¹¡£Y ¤Î²¼°Ì¥Ó¥Ã¥È (¤¹¤Ê¤ï¤Á Yl ) ¤ÏϤˤÏÆþ¤ì¤é¤ì¤Þ¤»¤ó¡£¼¡¤Ë T - S ¤ò·×»»¤·¤Æ¡¢Y ¤Î¾å°Ì¥Ó¥Ã¥È¤ò·×»»¤·¤Þ¤¹¡£¤³¤³¤«¤é Y ¤ò¸º¤¸¤ë¤È¡¢Y ¤Î²¼°Ì¥Ó¥Ã¥È¤¬Éü¸µ¤µ¤ì¤Þ¤¹¡£¤³¤ì¤Ï¡¢¿Þ¤ÎºÇ½é¤ÎϤǼº¤ï¤ì¤¿¥Ó¥Ã¥È¤ËÁêÅö¤·¤Þ¤¹¡£¤³¤ì¤é¤Î¥Ó¥Ã¥È¤Ï¡¢¼¡¤Î¥ë¡¼¥×¤Î½¤ÀµÍ×ÁǤȤʤê¤Þ¤¹¡£Knuth »ñÎÁ (1981) ¤Î 572 ¥Ú¡¼¥¸¤Ë¤¢¤ëÄêÍý 8 ¤ÎÀµ¼°¤Ê¾ÚÌÀ¤Ï¡¢¡ÖÄêÍý 14 ¤ÈÄêÍý 8¡×¤Ë¾Ò²ð¤µ¤ì¤Æ¤¤¤Þ¤¹¡£

¤Þ¤È¤á

¥³¥ó¥Ô¥å¡¼¥¿¥·¥¹¥Æ¥à¤ÎÀß·×¼Ô¤¬¡¢ÉâÆ°¾®¿ôÅÀ¤Ë´Ø¤¹¤ëÉôʬ¤ò̵»ë¤¹¤ë¤Î¤ÏÄÁ¤·¤¤¤³¤È¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤ª¤½¤é¤¯¡¢¤³¤ì¤Ï¥³¥ó¥Ô¥å¡¼¥¿¥µ¥¤¥¨¥ó¥¹¤Î¼ø¶È¤ÇÉâÆ°¾®¿ôÅÀ¤Ë¤Ä¤¤¤Æ°·¤¦µ¡²ñ¤¬¤Û¤È¤ó¤É¡¢¤¢¤ë¤¤¤Ï¤Þ¤Ã¤¿¤¯¤Ê¤¤¤³¤È¤Ëµ¯°ø¤·¤Æ¤¤¤ë¤â¤Î¤È»×¤ï¤ì¤Þ¤¹¡£¤³¤Î¤³¤È¤Ï¡¢ÉâÆ°¾®¿ôÅÀ¤¬ÄêÎ̲½¤Ç¤­¤ëÌäÂê¤Ç¤Ï¤Ê¤¯¡¢¤³¤ÎÌäÂê¤ò°·¤Ã¤¿¥Ï¡¼¥É¥¦¥§¥¢¤ä¥½¥Õ¥È¥¦¥§¥¢¤Ë¤Ä¤¤¤Æ¤¢¤ì¤³¤ìÁû¤®Î©¤Æ¤ë°ÕÌ£¤Ï¤Ê¤¤¤È¤¤¤Ã¤¿Ç§¼±¤ò¹­¤á¤ë¸¶°ø¤Ë¤â¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£

ËÜ»ñÎÁ¤Ç¤Ï¡¢ÉâÆ°¾®¿ôÅÀ¤Ë¤Ä¤¤¤ÆÀѶËŪ¤ËÏÀÍýŪ¤Ê¸¡Æ¤¤ò²Ã¤¨¤ë¤³¤È¤¬²Äǽ¤Ç¤¢¤ë¤³¤È¤ò¼Â¾Ú¤·¤Æ¤­¤Þ¤·¤¿¡£Î㤨¤Ð¡¢Á껦¤òȼ¤¦ÉâÆ°¾®¿ôÅÀ¥¢¥ë¥´¥ê¥º¥à¤Ï¡¢»ÈÍѤ¹¤ë¥Ï¡¼¥É¥¦¥§¥¢¤ÇÊݸî·å¤ò³ÎÊݤ·¡¢³ÈÄ¥ÀºÅÙ¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤¿µÕÁàºî¤Î²Äǽ¤Ê 2 ¿Ê¿ô /10 ¿Ê¿ôÊÑ´¹¤Ë´Ø¤¹¤ë¸ú²ÌŪ¤Ê¥¢¥ë¥´¥ê¥º¥à¤òÍÑ°Õ¤¹¤ì¤Ð¡¢ÁêÂÐ¸íº¹¤òºÇ¾®¸Â¤ËÍÞ¤¨¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£»ÈÍѤ¹¤ë¥³¥ó¥Ô¥å¡¼¥¿¥·¥¹¥Æ¥à¤ÇÉâÆ°¾®¿ôÅÀ¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ì¤Ð¡¢¿®ÍêÀ­¤Î¤¢¤ëÉâÆ°¾®¿ôÅÀ¥½¥Õ¥È¥¦¥§¥¢¤Î¹½ÃÛºî¶È¤¬ÂçÉý¤Ë´ÊÁDz½¤µ¤ì¤Þ¤¹¡£ËÜ»ñÎÁ¤Ç¾Ò²ð¤·¤¿ 2 ¤Ä¤ÎÎã (Êݸî·å¤È³ÈÄ¥ÀºÅÙ) °Ê³°¤Ë¡¢¡Ö¥·¥¹¥Æ¥à¤Î¦Ì̡פǤϡ¢Ì¿Î᥻¥Ã¥È¤ÎÀ߷פ«¤é¥³¥ó¥Ñ¥¤¥é¤ÎºÇŬ²½¤Ë»ê¤ë¤Þ¤Ç¡¢ÉâÆ°¾®¿ôÅÀ¤ò¸úΨŪ¤Ë¥µ¥Ý¡¼¥È¤¹¤ë¤¿¤á¤Î¤µ¤Þ¤¶¤Þ¤ÊÎã¤ò¾Ò²ð¤·¤Þ¤·¤¿¡£

IEEE ÉâÆ°¾®¿ôÅÀɸ½à¤¬¹­¤¯ÉáµÚ¤·¤Æ¤¤¤ë¤³¤È¤Ï¡¢É¸½à¤Ë½àµò¤·¤¿¥³¡¼¥É¤Î°Ü¿¢À­¤¬¹­¤¬¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£¡ÖIEEE ɸ½à¡×¤Ç¤Ï¡¢IEEE ɸ½à¤Îµ¡Ç½¤òÍøÍѤ·¤Æ¡¢¼ÂÁ©Åª¤ÊÉâÆ°¾®¿ôÅÀ¥³¡¼¥É¤ò¤É¤Î¤è¤¦¤Ëµ­½Ò¤Ç¤­¤ë¤«¤ò¶ñÂÎŪ¤ËÀâÌÀ¤·¤Þ¤·¤¿¡£

¼Õ¼­

ËÜ»ñÎÁ¤Ï¡¢1988 ǯ 5 ·î¤«¤é 7 ·î¡¢Sun Microsystems ¼Ò¤Î David Hough »á¤Î¶¨ÎϤΤâ¤È¤Ë Sun Microsystems ¼Ò¤Ç³«ºÅ¤µ¤ì¤¿ W. Kahan »á¤Î¹ÖµÁ¤ò»²¹Í¤ËºîÀ®¤·¤¿¤â¤Î¤Ç¤¹¡£ËÜ»ñÎÁ¤ÎÁð¹Æ¤ò¸«Ä¾¤·¤ËÊ¡¹¤Ê¤é¤Ì¤´¶¨ÎϤȵ®½Å¤Ê¥³¥á¥ó¥È¤ò¤¤¤¿¤À¤¤¤¿ Kahan »á¤ÈXerox PARC ¤Î³§ÍÍ¡¢ÆÃ¤Ë John Gilbert »á¤Ë¤Ï¡¢¿¼¤¯´¶¼Õ¤Î°Õ¤òɽ¤ï¤¹¤â¤Î¤Ç¤¹¡£¤Þ¤¿ Paul Hilfinger »á¤ò¤Ï¤¸¤á¡¢´Ø·¸³Æ¼Ô¤Ë¤â¿Âç¤Ê¤´¶¨ÎϤò¤¤¤¿¤À¤¤¤¿¤³¤È¤Ë´¶¼Õ¤¤¤¿¤·¤Þ¤¹¡£

»²¹Í»ñÎÁ

Aho, Alfred V., Sethi, R., and Ullman J. D. 1986. Compilers: Principles, Techniques and Tools, Addison-Wesley, Reading, MA.

ANSI 1978. American National Standard Programming Language FORTRAN, ANSI Standard
X3.9-1978, American National Standards Institute, New York, NY.

Barnett, David 1987. A Portable Floating-Point Environment, unpublished manuscript.

Brown, W. S. 1981. A Simple but Realistic Model of Floating-Point Computation, ACM Trans. on Math. Software 7(4), pp. 445-480.

Cody, W. J et. al. 1984. A Proposed Radix- and Word-length-independent Standard for Floating-point Arithmetic, IEEE Micro 4(4), pp. 86-100.

Cody, W. J. 1988. Floating-Point Standards -- Theory and Practice, in "Reliability in Computing: the role of interval methods in scientific computing", ed. by Ramon
E. Moore, pp. 99-107, Academic Press, Boston, MA.

Coonen, Jerome 1984. Contributions to a Proposed Standard for Binary Floating-Point Arithmetic, PhD Thesis, Univ. of California, Berkeley.

Dekker, T. J. 1971. A Floating-Point Technique for Extending the Available Precision,
Numer. Math. 18(3), pp. 224-242.

Demmel, James 1984. Underflow and the Reliability of Numerical Software,
SIAM J. Sci. Stat. Comput. 5(4), pp. 887-919.

Farnum, Charles 1988. Compiler Support for Floating-point Computation, Software-Practice and Experience, 18(7), pp. 701-709.

Forsythe, G. E. and Moler, C. B. 1967. Computer Solution of Linear Algebraic Systems,
Prentice-Hall, Englewood Cliffs, NJ.

Goldberg, I. Bennett 1967. 27 Bits Are Not Enough for 8-Digit Accuracy, Comm. of the
ACM. 10(2), pp 105-106.

Goldberg, David 1990. Computer Arithmetic, in "Computer Architecture: A Quantitative Approach", by David Patterson and John L. Hennessy, Appendix A, Morgan Kaufmann, Los Altos, CA.

Golub, Gene H. and Van Loan, Charles F. 1989. Matrix Computations, 2nd edition,
The Johns Hopkins University Press, Baltimore Maryland.

Graham, Ronald L. , Knuth, Donald E. and Patashnik, Oren. 1989. Concrete Mathematics, Addison-Wesley, Reading, MA, p.162.

Hewlett Packard 1982. HP-15C Advanced Functions Handbook.

IEEE 1987. IEEE Standard 754-1985 for Binary Floating-point Arithmetic, IEEE, (1985). Reprinted in SIGPLAN 22(2) pp. 9-25.

Kahan, W. 1972. A Survey Of Error Analysis, in Information Processing 71, Vol 2,
pp. 1214 - 1239 (Ljubljana, Yugoslavia), North Holland, Amsterdam.

Kahan, W. 1986. Calculating Area and Angle of a Needle-like Triangle, unpublished manuscript.

Kahan, W. 1987. Branch Cuts for Complex Elementary Functions, in "The State of the Art in Numerical Analysis", ed. by M.J.D. Powell and A. Iserles (Univ of Birmingham, England), Chapter 7, Oxford University Press, New York.

Kahan, W. 1988. Unpublished lectures given at Sun Microsystems, Mountain View, CA.

Kahan, W. and Coonen, Jerome T. 1982. The Near Orthogonality of Syntax, Semantics, and Diagnostics in Numerical Programming Environments, in "The Relationship Between Numerical Computation And Programming Languages", ed. by J. K. Reid, pp. 103-115,
North-Holland, Amsterdam.

Kahan, W. and LeBlanc, E. 1985. Anomalies in the IBM Acrith Package, Proc. 7th IEEE Symposium on Computer Arithmetic (Urbana, Illinois), pp. 322-331.

Kernighan, Brian W. and Ritchie, Dennis M. 1978. The C Programming Language,
Prentice-Hall, Englewood Cliffs, NJ.

Kirchner, R. and Kulisch, U. 1987. Arithmetic for Vector Processors, Proc. 8th IEEE Symposium on Computer Arithmetic (Como, Italy), pp. 256-269.

Knuth, Donald E., 1981. The Art of Computer Programming, Volume II, Second Edition, Addison-Wesley, Reading, MA.

Kulisch, U. W., and Miranker, W. L. 1986. The Arithmetic of the Digital Computer: A New Approach, SIAM Review 28(1), pp 1-36.

Matula, D. W. and Kornerup, P. 1985. Finite Precision Rational Arithmetic: Slash Number
Systems
, IEEE Trans. on Comput. C-34(1), pp 3-18.

Nelson, G. 1991. Systems Programming With Modula-3, Prentice-Hall, Englewood Cliffs, NJ.

Reiser, John F. and Knuth, Donald E. 1975. Evading the Drift in Floating-point Addition, Information Processing Letters 3(3), pp 84-87.

Sterbenz, Pat H. 1974. Floating-Point Computation, Prentice-Hall, Englewood Cliffs, NJ.

Swartzlander, Earl E. and Alexopoulos, Aristides G. 1975. The Sign/Logarithm Number System, IEEE Trans. Comput. C-24(12), pp. 1238-1242.

Walther, J. S., 1971. A unified algorithm for elementary functions, Proceedings of the AFIP Spring Joint Computer Conf. 38, pp. 379-385.

ÄêÍý 14 ¤ÈÄêÍý 8

¤³¤Î¹à¤Ç¤Ï¡¢Ëܽñ¤Ç°·¤Ã¤Æ¤¤¤Ê¤¤µ»½ÑŪ¤Ê¾ÚÌÀ¤ò 2 ¤Ä¾Ò²ð¤·¤Þ¤¹¡£

ÄêÍý 14

0 < k < p ¤È¤·¤Æ¡¢m = ¦Âk + 1 ¤ò¥»¥Ã¥È¤·¡¢ÉâÆ°¾®¿ôÅÀ±é»»¤¬Àµ³Î¤Ë·×»»¤µ¤ì¤ë¤â¤Î¤È²¾Äꤹ¤ë¡£ (m x) (m x x) ¤ÏÍ­°Õ·å p - k ¤Ë´Ý¤á¤¿Àµ³Î¤Ê x ¤È¤·¤Æ·×»»¤µ¤ì¤ë¡£¤µ¤é¤ËÀµ³Î¤Ë¸À¤¦¤È¡¢ºÇ²¼°Ì·å k ¤Îº¸¤Î°ÌÃ֤˴ð¿ô¥Ý¥¤¥ó¥È¤¬¤¢¤ë¤³¤È¤òÁ°Äó¤Ë¡¢À°¿ô¤Ë´Ý¤á¤ë¤³¤È¤Ë¤è¤ê¡¢x ¤¬Í­°Õ·å x ¤ò»ÈÍѤ·¤Æ´Ý¤á¤é¤ì¤ë¡£

¾ÚÌÀ

¾ÚÌÀ¤Î¼ê½ç¤Ï¡¢mx = ¦Âkx + x ¤Î·×»»·ë²Ì¤Ë¤ª¤±¤ë¥­¥ã¥ê¡¼¥¢¥¦¥È¤Î̵ͭ¤Ë¤è¤Ã¤Æ 2 ¤Ä¤Î¥±¡¼¥¹¤Ëʬ¤±¤é¤ì¤Þ¤¹¡£
¥­¥ã¥ê¡¼¥¢¥¦¥È¤¬¤Ê¤¤¾ì¹ç¤Ï¡¢x ¤¬À°¿ô¤Ë¤Ê¤ë¤è¤¦¤Ë´ð½à²½ (¥¹¥±¡¼¥ë) ¤·¤Æ¤âÌäÂê¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤³¤ì¤Ë¤è¤ê mx = x + ¦Âk x ¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
¤³¤³¤Ç x ¤Ï¡¢2 ¤Ä¤ÎÉôʬ¤Ë¶èʬ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£²¼°Ì¤Î k ·å¤Ï b¡¢¾å°Ì¤Î p - k ·å¤Ï a ¤Èɽ¤ï¤·¤Þ¤¹¡£mx ¤«¤é m x ¤ò·×»»¤¹¤ë¤È¡¢²¼°Ì¤Î k ·å (b ¤Çɽ¤ï¤·¤¿·å) ¤¬´Ý¤á¤é¤ì¤Þ¤¹¡£
m x = mx - x mod(¦Âk) + r¦Âk (32)
r ¤ÎÃͤϡ¢.bb...b ¤¬ ¤è¤êÂ礭¤±¤ì¤Ð 1¡¢¤³¤ì°Ê³°¤Î¾ì¹ç¤Ï 0 ¤Ë¤Ê¤ê¤Þ¤¹¡£¸·Ì©¤Ë¸À¤¦¤È¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
a.bb...b ¤ò a + 1 ¤Ë´Ý¤á¤ë¾ì¹ç¤Ï r = 1¡¢¤³¤ì°Ê³°¤Î¾ì¹ç¤Ï r = 0 (33)
¼¡¤Ë m x - x = mx - x mod (¦Âk) + r¦Âk - x = ¦Âk(x + r) - x mod (¦Âk) ¤ò·×»»¤·¤Þ¤¹¡£¼¡¤Î¿Þ¤Ë¡¢m x - x ¤Î·×»»¤¬´Ý¤á¤é¤ì¤ë¡¢¤Ä¤Þ¤ê (m x) x ¤Ç¤¢¤ë¤³¤È¤ò¼¨¤·¤Þ¤¹¡£¾å¤ÎÃÊ¤Ï ¦Âk (x + r) ¤òɽ¤ï¤·¤Þ¤¹ (¤¿¤À¤· B ¤Ï¡¢ºÇ²¼°Ì·å b ¤Ë r ¤ò²Ã¤¨¤¿¾ì¹ç¤Î·å¤òɽ¤ï¤·¤Þ¤¹)¡£
.bb...b < ¤Î¾ì¹ç¤Ï r = 0 ¤È¤Ê¤ê¡¢¸º»»¤Ë¤è¤ê B ¤Î·å¤«¤é¼Ú¤ê¤¬À¸¤¸¤Þ¤¹¤¬¡¢º¹¤¬´Ý¤á¤é¤ì¤ë¤¿¤áºÇ½ªÅª¤Ë¤Ï´Ý¤á¤Îº¹¤¬¾åÃʤÈƱ¤¸¡¢¤¹¤Ê¤ï¤Á ¦Âkx ¤È¤Ê¤ê¤Þ¤¹¡£

¤Þ¤¿ .bb...b > ¤Î¾ì¹ç¤Ï¡¢r = 1 ¤È¤Ê¤ê¡¢¼Ú¤ê¤Î¤¿¤á¤Ë B ¤«¤é 1 ¤¬¸º»»¤µ¤ì·ë²Ì¤ÏƱ¤¸¤¯¦Âkx¤È¤Ê¤ê¤Þ¤¹¡£

ºÇ¸å¤Ë .bb...b = ¤Î¾ì¹ç¤ò¹Í¤¨¤Þ¤¹¡£r = 0 ¤Î¾ì¹ç¡¢B ¤Ï¶ö¿ô¡¢Z ¤Ï´ñ¿ô¤È¤Ê¤ê¡¢º¹¤¬ÀÚ¤ê¾å¤²¤é¤ì¤ë¤Î¤Ç¡¢·ë²Ì¤Ï ¦Âkx ¤È¤Ê¤ê¤Þ¤¹¡£Æ±ÍÍ¤Ë r = 1 ¤Ç¤¢¤ì¤Ð¡¢B ¤Ï´ñ¿ô¡¢Z ¤Ï¶ö¿ô¤Ë¤Ê¤ê¡¢º¹¤ÏÀÚ¤ê¼Î¤Æ¤é¤ì¤Þ¤¹¡£·ë²Ì¤ÏƱ¤¸¤¯¦Âkx ¤È¤Ê¤ê¤Þ¤¹¡£°Ê¾å¤ò¤Þ¤È¤á¤ë¤È¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
(m x) x =¦Âkx (34)
(32) ¤È (34) ¤ÎÊýÄø¼°¤òÁȤ߹ç¤ï¤»¤ë¤È¡¢ (m x) - (m x x) = x - x mod (¦Âk) + ¦Ñ¡¦¦Âk ¤È¤Ê¤ê¤Þ¤¹¡£¤³¤ì¤ò·×»»¤¹¤ë¤È¡¢¼¡¤Î·ë²Ì¤¬ÆÀ¤é¤ì¤Þ¤¹¡£
ÊýÄø¼° (33) ¤Ç r ¤ò·×»»¤¹¤ë¥ë¡¼¥ë¤Ï¡¢a...ab...b ¤ò p - k ·å¤Ë´Ý¤á¤ë¾ì¹ç¤Î¥ë¡¼¥ë¤ÈƱ¤¸¤Ç¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢ÉâÆ°¾®¿ôÅÀ±é»»¤ÎÀºÅÙ¤Ç mx - (mx - x) ¤ò·×»»¤¹¤ë¤³¤È¤Ï¡¢x + ¦Âk x ¤Ç¥­¥ã¥ê¡¼¥¢¥¦¥È¤Ê¤·¤Î¤È¤­¤Ë x ¤ò p - k ·å¤Ë´Ý¤á¤ë¾ì¹ç¤È¤Þ¤Ã¤¿¤¯Åù¤·¤¯¤Ê¤ê¤Þ¤¹¡£
x +¦Âkx ¤Ç¥­¥ã¥ê¡¼¥¢¥¦¥È¤¬È¼¤¦¾ì¹ç¡¢mx = ¦Âkx + x ¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
¤·¤¿¤¬¤Ã¤Æ¡¢m x = mx - x mod (¦Âk) + w¦Âk (¤¿¤À¤· Z < ¦Â/2 ¤Î¾ì¹ç¤Ë w = -Z) ¤È¤Ê¤ê¤Þ¤¹ (w ¤ÎÀµ³Î¤ÊÃͤϽÅÍפǤϤ¢¤ê¤Þ¤»¤ó) ¡£¼¡¤Ë m x - x = ¦Âkx - x mod (¦Âk) + w¦Âk ¤Ë¤Ê¤ê¤Þ¤¹¡£¿Þ²ò¤¹¤ë¤È¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
¤³¤ì¤ò´Ý¤á¤ë¤È (m x) x = ¦Âkx + w¦Âk- r¦Âk (¤¿¤À¤·¡¢.bb...b > ¤Î¾ì¹ç¡¢

¤Þ¤¿¤Ï .bb...b = ¤Ç b0 = 1 ¤Î¾ì¹ç¤Ë r = 1) ¤È¤Ê¤ê¤Þ¤¹31¡£

¤Þ¤¿ (m x) - (m x x) = mx - x mod (¦Âk) + w¦Âk - (¦Âkx + w¦Âk - r¦Âk) = x - x mod(¦Âk) + r¦Âk ¤È¤Ê¤ê¤Þ¤¹¡£¤³¤Î¾ì¹ç¤â¡¢a...ab...b ¤ò p - k ·å¤Ë´Ý¤á¤ë¤È¤­¤ËÀÚ¤ê¾å¤²¤òȼ¤¦¤È¡¢r = 1 ¤Ë¤Ê¤ê¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢¤¢¤é¤æ¤ë¥±¡¼¥¹¤Ë¤Ä¤¤¤ÆÄêÍý 14 ¤¬¾ÚÌÀ¤µ¤ì¤¿¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£¢£

ÄêÍý 8 (Kahan ¤Î²ÃË¡¸ø¼° )

¤ò¼¡¤Î¥¢¥ë¥´¥ê¥º¥à¤Ë½¾¤Ã¤Æ·×»»¤¹¤ë¡£

S = X [1];
C = 0;
for j = 2 to N {
Y = X [j] - C;
   T = S + Y;
   C = (T - S) - Y;
   S = T;
}


¤³¤Î¤È¤­ S ¤Î·×»»Ãͤϡ¢S =¦²xj (1 + ¦Äj) + O(N¦Å2) ¦² |xj| (¤¿¤À¤· |¦Äj|¡å 2¦Å) ¤ËÅù¤·¤¯¤Ê¤ë¡£

¾ÚÌÀ

¤Þ¤º¡¢Ã±½ã¤Ê¸ø¼° ¦²xi ¤Î¸íº¹¤ò¤É¤Î¤è¤¦¤Ë³µ»»¤¹¤ë¤«¤ò¹Í¤¨¤Æ¤ß¤Þ¤¹¡£s 1 = x1¡¢si = (1 +¦Äi) (si-1 +xi) ¤òƳÆþ¤·¤Þ¤¹¡£Ï¤η׻»Ãͤϡ¢sn ¤È¤Ê¤ê¡¢¤³¤ì¤Ï³Æ¹à x ¤ò¦Äj ¤Î¤¢¤ë¼°¤Ç¾è¤¸¤¿ÃÍ xi ¤ÎϤËÁêÅö¤·¤Þ¤¹¡£x1 ¤ÎÀµ³Î¤Ê·¸¿ô¤Ï (1+¦Ä2)(1+¦Ä3) ... (1+¦Än) ¤Ê¤Î¤Ç¡¢ÈÖ¹æ¤ÎÊѹ¹¤Ë¤è¤ê x 2 ¤Î·¸¿ô¤Ï¡¢(1+¦Ä3)(1+¦Ä4) ... (1+¦Än) ¤Ë¤Ê¤é¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ÄêÍý 8 ¤Ï¡¢x1 ¤Î·¸¿ô¤¬Â¿¾¯Ê£»¨¤Ë¤Ê¤ëÅÀ¤ò½ü¤­¡¢¤Þ¤Ã¤¿¤¯Æ±¤¸¤è¤¦¤Ë¾ÚÌÀ¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
s0 = c0 = 0 ¤Ç¡¢¼¡¤Î¤è¤¦¤Ë²¾Äꤹ¤ë¤È¡¢

¤¿¤À¤·¡¢¾åµ­¤Î¥®¥ê¥·¥¢Ê¸»ú¤Ï¤¹¤Ù¤Æ¦Å¤ÇÈϰϤ¬·è¤Þ¤ê¤Þ¤¹¡£sk ¤Î x1 ¤Î·¸¿ô¤Ï¶Ëü¤Ê¼°¤Ç¤¹¤¬¡¢sk - ck ¤È ck ¤Î x1 ¤Î·¸¿ô¤¬·×»»¤·¤ä¤¹¤¯¤Ê¤ê¤Þ¤¹¡£k = 1 ¤Î¤È¤­¡¢¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£

°Ê¾å¤Î¼°¤Ç²¾¤Ë¡¢x1 ¤Î·¸¿ô¤ò¤½¤ì¤¾¤ì Ck ¤È Sk ¤È¤¹¤ë¤È¡¢¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£

Sk ¤È Ck ¤Î¸ø¼°¤¬ÆÀ¤é¤ì¤ë¤è¤¦¤Ë¡¢i > 1 ¤Î¾ì¹ç¤Î xi ¤òȼ¤¦¹à¤ò¤¹¤Ù¤Æ̵»ë¤·¤Æ¡¢Sk ¤È Ck ¤ÎÄêµÁ¤ò³ÈÄ¥¤·¤Þ¤¹¡£·ë²Ì¤Ï¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£

Sk ¤È Ck ¤Ï¦Å2 ¤Î°Ì¤Þ¤Ç¤·¤«·×»»¤µ¤ì¤Ê¤¤¤Î¤Ç¡¢¤³¤ì¤é¤Î¸ø¼°¤Ï¼¡¤Î¤è¤¦¤Ë´Êά²½¤Ç¤­¤Þ¤¹¡£

¤³¤ì¤é¤Î¼°¤ò»ÈÍѤ¹¤ë¤È¡¢¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£

°ìÈ̤˼¡¤Î¤è¤¦¤Ëµ¢Ç¼Ë¡¤Ç¥Á¥§¥Ã¥¯¤¹¤ë¤È´Êñ¤Ç¤¹¡£

ºÇ½ªÅª¤Ë sk ¤Î x1 ¤Î·¸¿ô¤¬É¬Íפˤʤê¤Þ¤¹¡£¤³¤ÎÃͤòÆÀ¤ë¤Ë¤Ï¡¢xn + 1 = 0 ¤È¤·¡¢n + 1 ¤È¤¤¤¦Åº¤¨»ú¤ÎÉÕ¤¤¤¿¥®¥ê¥·¥¢Ê¸»ú¤ò¤¹¤Ù¤Æ 0 ¤È¤·¤Æ sn + 1 ¤ò·×»»¤·¤Þ¤¹¡£
¤³¤Î·ë²Ì¡¢sn + 1 = sn - cn ¤È¤Ê¤ê¡¢sn ¤Î x 1 ¤Î·¸¿ô¤Ï sn + 1 ¤Î·¸¿ô¤è¤ê¾®¤µ¤¯¤Ê¤ê¤Þ¤¹¡£¤³¤Î·¸¿ô¤Ï¡¢sn = 1 +¦Ç1 - ¦Ã1 + (4n + 2)¦Å2 = (1 + 2¦Å + O(n¦Å2)) ¤È¤Ê¤ê¤Þ¤¹¡£¢£

IEEE 754 ¼ÂÁõ´Ö¤Î°ã¤¤


Ãí - ¤³¤ÎÀá¤Ï¡¢È¯¹Ô¤µ¤ì¤¿ÏÀʸ¤Î°ìÉô¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤³¤ÎÀá¤Ï¡¢IEEE µ¬³Ê¤Î°ìÉô¤òÀâÌÀ¤·¡¢ÆɼԤ¬ÏÀʸ¤«¤é¿äÎ̤·¤ä¤¹¤¤ IEEE ¤Ë¤Ä¤¤¤Æ¤Î»×¤¤°ã¤¤¤òÀµ¤¹¤¿¤á¤ËÄɲ䵤줿¤â¤Î¤Ç¤¹¡£¤³¤Î»ñÎÁ¤Ï David Goldberg ¤Ë¤è¤Ã¤Æµ­½Ò¤µ¤ì¤¿¤â¤Î¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¤¬¡¢Goldberg »á¤Îµö²Ä¤òÆÀ¤Æ¤³¤³¤Ë´Þ¤á¤é¤ì¤Æ¤¤¤Þ¤¹¡£

Á°µ­¤ÎÏÀʸ¤Ï¡¢¥×¥í¥°¥é¥Þ¤Ï¥×¥í¥°¥é¥à¤ÎÀµ³ÎÅÙ¤òÉâÆ°¾®¿ôÅÀ±é»»¤ÎÆÃÀ­¤ËÍê¤ë¤³¤È¤¬¤¢¤ë¤¿¤á¡¢ÉâÆ°¾®¿ôÅÀ±é»»¤Ï½½Ê¬¤ÊÃí°Õ¤òʧ¤Ã¤Æ¼ÂÁõ¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤³¤È¤ò¼¨¤·¤Æ¤¤¤Þ¤¹¡£IEEE µ¬³Ê¤ÏÃí°Õ¿¼¤¤¼ÂÁõ¤òµ¬Äꤷ¤Æ¤ª¤ê¡¢Àµ¤·¤¯Æ°ºî¤¹¤ëÊØÍø¤Ê¥×¥í¥°¥é¥à¤òºîÀ®¤·¤Æ¤³¤Îµ¬³Ê¤Ë½àµò¤·¤¿¥·¥¹¥Æ¥à¤Ë¤Î¤ßÀµ³Î¤Ê·ë²Ì¤òÇÛÉÛ¤¹¤ë¤³¤È¤Ï²Äǽ¤Ç¤¹¡£¤½¤Î¤è¤¦¤Ê¥×¥í¥°¥é¥à¤Ï¤¹¤Ù¤Æ¤Î IEEE ¥·¥¹¥Æ¥à¤Ë°Ü¿¢¤Ç¤­¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤ÈÆɼԤϷëÏÀÉÕ¤±¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£¼ÂºÝ¡¢197¥Ú¡¼¥¸¤Î¡Ö¤¢¤ë¥Þ¥·¥ó¤«¤éÊ̤Υޥ·¥ó¤Ë¥×¥í¥°¥é¥à¤ò°Ü¿¢¤¹¤ë¤È¤­¤Ë¡¢Î¾Êý¤Î¥Þ¥·¥ó¤Ç IEEE ɸ½à¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ì¤Ð¡¢¤½¤Î´Ö¤ËÀ¸À®¤µ¤ì¤ëÃæ´Ö·ë²Ì¤Ï¤¹¤Ù¤Æ¥½¥Õ¥È¥¦¥§¥¢¥Ð¥°¤Ë¸¶°ø¤¬¤¢¤ê¡¢±é»»¾å¤Îº¹¤Ë¤è¤ë¤â¤Î¤Ç¤Ê¤¤¡×¤È¤¤¤¦½ê¸«¤¬¿¿¼Â¤Ç¤¢¤ë¤Ê¤é¡¢°Ü¿¢À­¤Î¤¢¤ë¥½¥Õ¥È¥¦¥§¥¢¤Îµ­½Ò¤ÏÈæ³ÓŪ´Êñ¤Ç¤·¤ç¤¦¡£

»ÄÇ°¤Ê¤¬¤é IEEE µ¬³Ê¤Ï¡¢Æ±°ì¤Î¥×¥í¥°¥é¥à¤¬ IEEE ½àµò¤Î¤¹¤Ù¤Æ¤Î¥·¥¹¥Æ¥à¤Ç¤Þ¤Ã¤¿¤¯Æ±¤¸·ë²Ì¤ò½Ð¤¹¤È¤ÏÊݾڤ·¤Æ¤¤¤Þ¤»¤ó¡£¼ÂºÝ¡¢¤µ¤Þ¤¶¤Þ¤ÊÍýͳ¤«¤é¡¢¤Û¤È¤ó¤É¤Î¥×¥í¥°¥é¥à¤Ï¥·¥¹¥Æ¥à¤Ë¤è¤Ã¤Æ°Û¤Ê¤Ã¤¿·ë²Ì¤ò½Ð¤·¤Þ¤¹¡£°ìÎã¤òµó¤²¤ë¤È¡¢¤Û¤È¤ó¤É¤Î¥×¥í¥°¥é¥à¤Ï 10 ¿Ê·Á¼°¤È 2 ¿Ê·Á¼°¤Î´Ö¤Ç¿ôÃͤòÊÑ´¹¤µ¤»¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¤¬¡¢IEEE µ¬³Ê¤Ï¤³¤ÎÊÑ´¹¤ò¹Ô¤¦¤¿¤á¤ÎÀµ³ÎÅÙ¤ò´°Á´¤Ë¤Ï»ØÄꤷ¤Æ¤¤¤Þ¤»¤ó¡£¤Þ¤¿¡¢Â¿¤¯¤Î¥×¥í¥°¥é¥à¤Ï¥·¥¹¥Æ¥à¥é¥¤¥Ö¥é¥ê¤Ë¤è¤Ã¤Æ¶¡µë¤µ¤ì¤ë´ðËÜ´Ø¿ô¤ò»ÈÍѤ·¤Þ¤¹¤¬¡¢IEEE µ¬³Ê¤Ï¤³¤ì¤é¤Î´Ø¿ô¤Ë¤Ä¤¤¤Æ¤Ï¤Þ¤Ã¤¿¤¯µ¬Äꤷ¤Æ¤¤¤Þ¤»¤ó¡£ÅöÁ³¡¢¤Û¤È¤ó¤É¤Î¥×¥í¥°¥é¥Þ¤Ï¤³¤ì¤é¤Îµ¡Ç½¤¬ IEEE µ¬³Ê¤ÎÈϰϳ°¤Ç¤¢¤ë¤³¤È¤òǧ¼±¤·¤Æ¤¤¤Þ¤¹¡£

IEEE µ¬³Ê¤Ëµ¬Äꤵ¤ì¤¿¿ôÃÍ·Á¼°¤È±é»»¤À¤±¤ò»ÈÍѤ¹¤ë¥×¥í¥°¥é¥à¤Ç¤¹¤é¡¢¥·¥¹¥Æ¥à¤Ë¤è¤Ã¤Æ°Û¤Ê¤ë·ë²Ì¤ò½Ð¤¹¾ì¹ç¤¬¤¢¤ë¤³¤È¤Ëµ¤¤Å¤¤¤Æ¤¤¤Ê¤¤¥×¥í¥°¥é¥Þ¤â¿¤¤¤³¤È¤Ç¤·¤ç¤¦¡£¼ÂºÝ¡¢IEEE µ¬³Ê¤Î¼¹É®¼Ô¤Ï¡¢°Û¤Ê¤ë¼ÂÁõ¤¬°Û¤Ê¤ë·ë²Ì¤òÀ¸¤à¤³¤È¤òǧ¤á¤Þ¤·¤¿¡£¤½¤ì¤Ï¡¢¼¡¤Ë¼¨¤¹ IEEE 754 µ¬³Ê¤ÎÍѸì¡Ö°¸Àè¡×¤ÎÄêµÁ¤ÇÌÀ¤é¤«¤Ç¤¹ ¡£¡Ö°¸Àè¤Ï¡¢¥æ¡¼¥¶¡¼¤Ë¤è¤Ã¤ÆÌÀ¼¨Åª¤Ë»ØÄꤵ¤ì¤ë¤«¡¢¥·¥¹¥Æ¥à¤Ë¤è¤ê°ÅÌۤ˶¡µë¤µ¤ì¤ë (¤¿¤È¤¨¤Ð¡¢¥×¥í¥·¡¼¥¸¥ã¤Î¥µ¥Ö¥¨¥¯¥¹¥×¥ì¥Ã¥·¥ç¥ó¤ä°ú¿ô¤Ë¤ª¤±¤ëÃæ´Ö·ë²Ì)¡£¸À¸ì¤Ë¤è¤Ã¤Æ¤Ï¡¢Ãæ´Ö·×»»¤Î·ë²Ì¤ò¥æ¡¼¥¶¡¼À©¸æ¤ÎµÚ¤Ð¤Ê¤¤°¸Àè¤ËÃÖ¤¯¤â¤Î¤â¤¢¤ë¤¬¡¢Åöµ¬³Ê¤Ï±é»»·ë²Ì¤ò°¸Àè¤Î·Á¼°¤È¥ª¥Ú¥é¥ó¥É¤ÎÃͤˤè¤Ã¤ÆÄêµÁ¤¹¤ë¡£¡×(IEEE 754-1985¡¢7 ¥Ú¡¼¥¸) ¤Ä¤Þ¤ê IEEE µ¬³Ê¤Ï³Æ·ë²Ì¤ò¤½¤Î°¸Àè¤ÎÀºÅÙ¤ËÀµ¤·¤¯´Ý¤á¤ë¤³¤È¤òµ¬Äꤷ¤Æ¤¤¤Þ¤¹¤¬¡¢¤½¤Î°¸Àè¤ÎÀºÅÙ¤ò¥æ¡¼¥¶¡¼¤Î¥×¥í¥°¥é¥à¤Ç·èÄꤹ¤ë¤È¤Ïµ¬Äꤷ¤Æ¤¤¤Þ¤»¤ó¡£¤·¤¿¤¬¤Ã¤Æ¡¢³Æ¥·¥¹¥Æ¥à¤ÏÆȼ«¤ÎÀºÅ٤Ƿë²Ì¤ò°¸Àè¤ËÇÛÉۤǤ­¤ë¤¿¤á¡¢¥·¥¹¥Æ¥à¤¬¤¹¤Ù¤Æ IEEE µ¬³Ê¤Ë½àµò¤·¤Æ¤¤¤Æ¤â¡¢Æ±°ì¤Î¥×¥í¥°¥é¥à¤Ç°Û¤Ê¤ë·ë²Ì¤¬½Ð¤Æ¤·¤Þ¤¤¤Þ¤¹ (¤È¤­¤É¤­¤³¤ÎÄøÅÙ¤¬Ãø¤·¤¯¤Ê¤ê¤Þ¤¹)¡£

Á°µ­¤ÎÏÀʸ¤Ë¼¨¤µ¤ì¤¿¤¤¤¯¤Ä¤«¤ÎÎã¤Ï¡¢ÉâÆ°¾®¿ôÅÀ±é»»¤Î´Ý¤á¤Ë´Ø¤¹¤ëÃ챤òÁ°Äó¤Ë¤·¤Æ¤¤¤Þ¤¹¡£¤³¤Î¤è¤¦¤ÊÎã¤òÍê¤ß¤Ë¤¹¤ë¤Ë¤Ï¡¢¥×¥í¥°¥é¥Þ¤Ï¥×¥í¥°¥é¥à¤¬¤É¤Î¤è¤¦¤Ë²ò¼á¤µ¤ì¤ë¤« (¶ñÂÎŪ¤Ë IEEE ¥·¥¹¥Æ¥à¤Ç¤Ï³Æ»»½Ñ±é»»¤Î°¸Àè¤ÎÀºÅ١ˤòͽ¬¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£²¿¤È¡¢IEEE µ¬³Ê¤Î¡Ö°¸Àè¡×ÄêµÁ¤Ï¡¢¤½¤Î¶¹´Ö¤Ç¥×¥í¥°¥é¥à¤¬¤É¤Î¤è¤¦¤Ë²ò¼á¤µ¤ì¤ë¤«¤òǧ¼±¤¹¤ë¥×¥í¥°¥é¥Þ¤ÎǽÎϤòÍɤ뤬¤·¤Æ¤¤¤Þ¤¹¡£¤½¤Î·ë²Ì¡¢Á°µ­¤ÎÎã¤Î¤¤¤¯¤Ä¤«¤Ï¡¢¹âµé¸À¸ìÆâ¤Ç°ì¸«°Ü¿¢²Äǽ¤Ê¥×¥í¥°¥é¥à¤È¤·¤Æ¼ÂÁõ¤µ¤ì¤ë¾ì¹ç¡¢Ä̾ï¥×¥í¥°¥é¥Þ¤¬Í½´ü¤¹¤ë¤â¤Î¤È¤Ï°Û¤Ê¤ëÀºÅ٤ǰ¸Àè¤Ë·ë²Ì¤òÇÛÉÛ¤¹¤ë IEEE ¥·¥¹¥Æ¥à¤Ç¤ÏÀµ¤·¤¯Æ°ºî¤·¤Ê¤¤¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£Àµ¤·¤¯Æ°ºî¤¹¤ë¤â¤Î¤â¤¢¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¤¬¡¢¤½¤ì¤é¤ÎÆ°ºî¤¬Ê¿¶ÑŪ¤Ê¥×¥í¥°¥é¥Þ¤ÎǽÎϤòĶ¤¨¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£

¤³¤ÎÀá¤Ç¤Ï¡¢IEEE 754 ±é»»¤¬Ä̾ï»ÈÍѤ¹¤ë°¸Àè·Á¼°¤ÎÀºÅ٤˴ð¤Å¤¤¤¿ IEEE 754 ±é»»¤Î´û¸¤Î¼ÂÁõ¤Ë¤Ä¤¤¤ÆʬÎष¤Þ¤¹¡£¤½¤Î¤¢¤È¤Ç¡¢ÏÀʸ¤Î°ìÉô¤ÎÎã¤ò¼è¤ê¾å¤²¡¢¥×¥í¥°¥é¥à¤¬Í½´ü¤¹¤ëÀºÅÙ¤è¤ê¤â¹­¤¤ÀºÅ٤Ƿë²Ì¤òÇÛÉÛ¤¹¤ë¤È¡¢Í½´ü¤µ¤ì¤¿ÀºÅÙ¤¬»ÈÍѤµ¤ì¤ë¤È¤­¤Ë¤ÏÀµ¤·¤¤¤Ï¤º¤Ç¤â¡¢´Ö°ã¤Ã¤¿·ë²Ì¤¬À¸À®¤µ¤ì¤ë¾ì¹ç¤¬¤¢¤ë¤³¤È¤ò¼¨¤·¤Þ¤¹¡£¤Þ¤¿¡¢ÏÀʸÆâ¤Î¾ÚÌÀ¤Î 1 ¤Ä¤òºÆ¹Í¤·¤Æ¡¢Í½´ü¤·¤Ê¤¤ÀºÅ٤˼è¤êÁȤà (¤½¤ÎÀºÅÙ¤¬¥×¥í¥°¥é¥à¤ò̵¸ú¤Ë¤·¤Ê¤¤¤Ë¤»¤è) ¤¿¤á¤ËɬÍפÊÅØÎϤò¼¨¤·¤Þ¤¹¡£¤³¤ì¤é¤ÎÎã¤Ï¡¢IEEE µ¬³Ê¤Î¤¢¤é¤æ¤ëµ¬Äê¤Ë¤â¤«¤«¤ï¤é¤º¡¢IEEE µ¬³Ê¤¬Ç§¤á¤ë°Û¤Ê¤ë¼ÂÁõ´Ö¤ÎÁê°ã¤Î¤¿¤á¤Ë¡¢Æ°ºî¤¬Àµ³Î¤Ëͽ¬¤Ç¤­¡¢°Ü¿¢²Äǽ¤Ç¸úΨŪ¤Ç¤¢¤ë¤È¤¤¤¦¿ôÃÍ¥½¥Õ¥È¥¦¥§¥¢¤òµ­½Ò¤Ç¤­¤Ê¤¤¾ì¹ç¤¬¤¢¤ë¤³¤È¤ò¼¨¤·¤Æ¤¤¤Þ¤¹¡£¤³¤Î¤è¤¦¤Ê¥½¥Õ¥È¥¦¥§¥¢¤ò³«È¯¤¹¤ë¤Ë¤Ï¡¢IEEE µ¬³Ê¤¬Ç§¤á¤Æ¤¤¤ë²ÄÊÑÀ­¤òÀ©¸Â¤¹¤ë¤È¤È¤â¤Ë¡¢¥×¥í¥°¥é¥à¤¬°Í¸¤¹¤ëÉâÆ°¾®¿ôÅÀ°ÕÌ£ÏÀ¤ò¥×¥í¥°¥é¥Þ¤¬É½¸½¤Ç¤­¤ë¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤È´Ä¶­¤ò¤Þ¤ººîÀ®¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£

¸½ºß¤Î IEEE 754 ¼ÂÁõ

IEEE 754 ±é»»¤Î¸½ºß¤Î¼ÂÁõ¤Ï¡¢¥Ï¡¼¥É¥¦¥§¥¢Æâ¤Ç¤½¤ì¤é¤¬¥µ¥Ý¡¼¥È¤¹¤ë³Æ¼ï¤ÎÉâÆ°¾®¿ôÅÀ·Á¼°¤ÎÄøÅ٤ˤè¤ê 2 ¤Ä¤Î¥°¥ë¡¼¥×¤Ëʬ¤±¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£Intel x86 ¥Õ¥¡¥ß¥ê¤Î¥×¥í¥»¥Ã¥µ¤ÇÂåɽ¤µ¤ì¤ë¡Ö³ÈÄ¥¥Ù¡¼¥¹¡×¥·¥¹¥Æ¥à¤Ï³ÈÄ¥ÇÜÀºÅÙ·Á¼°¤ò¥Õ¥ë¥µ¥Ý¡¼¥È¤·¤Þ¤¹¤¬¡¢Ã±ÀºÅÙ¤ÈÇÜÀºÅ٤ˤĤ¤¤Æ¤ÏÉôʬŪ¤Ë¤·¤«¥µ¥Ý¡¼¥È¤·¤Þ¤»¤ó¡£³ÈÄ¥¥Ù¡¼¥¹¥·¥¹¥Æ¥à¤Ï¡¢Ã±ÀºÅÙ¤ÈÇÜÀºÅ٤ǥǡ¼¥¿¤ÎÆɤ߹þ¤ß¤È³ÊǼ¤ò¹Ô¤¤¡¢¥Ç¡¼¥¿¤ò³ÈÄ¥ÇÜÀºÅÙ·Á¼°¤È¤Î´Ö¤Ç¤¹¤Ð¤ä¤¯ÊÑ´¹¤¹¤ëÌ¿Îá¤òÄ󶡤·¤Þ¤¹¡£¤³¤Î¥·¥¹¥Æ¥à¤Ï¤Þ¤¿¡¢³ÈÄ¥ÇÜÀºÅÙ·Á¼°¤Ç¥ì¥¸¥¹¥¿¤ËÊÝ»ý¤µ¤ì¤ë¾ì¹ç¤Ç¤â»»½Ñ±é»»¤Î·ë²Ì¤¬Ã±ÀºÅÙ¤Þ¤¿¤ÏÇÜÀºÅ٤˴ݤá¤é¤ì¤ë¡¢¥Ç¥Õ¥©¥ë¥È¤È¤ÏÊ̤ÎÆüì¤Ê¥â¡¼¥É¤òÄ󶡤·¤Þ¤¹¡£Motorola 68000 ¥·¥ê¡¼¥º¥×¥í¥»¥Ã¥µ¤Ï¡¢·ë²Ì¤ò¤³¤ì¤é¤Î¥â¡¼¥É¤ÇñÀºÅÙ·Á¼°¤Þ¤¿¤ÏÇÜÀºÅÙ·Á¼°¤ÎÀºÅÙ¤ÈÈϰϤÎξÊý¤Ë´Ý¤á¤Þ¤¹¡£Intel x86 ¤ª¤è¤Ó¸ß´¹¥×¥í¥»¥Ã¥µ¤Ï¡¢Ã±ÀºÅÙ¤Þ¤¿¤ÏÇÜÀºÅÙ·Á¼°¤ÎÀºÅ٤˷ë²Ì¤ò´Ý¤á¤Þ¤¹¤¬¡¢Æ±¤¸ÈϰϤò³ÈÄ¥ÇÜÀºÅÙ·Á¼°¤È¤·¤ÆÊÝ»ý¤·¤Þ¤¹¡£¤Û¤È¤ó¤É¤Î RISC ¥×¥í¥»¥Ã¥µ¤ò´Þ¤àñÀºÅÙ¤ª¤è¤ÓÇÜÀºÅÙ¥·¥¹¥Æ¥à¤Ï¡¢Ã±ÀºÅÙ·Á¼°¤ÈÇÜÀºÅÙ·Á¼°¤ò¥Õ¥ë¥µ¥Ý¡¼¥È¤·¤Þ¤¹¤¬¡¢IEEE ½àµò¤Î³ÈÄ¥ÇÜÀºÅÙ·Á¼°¤Ï¥µ¥Ý¡¼¥È¤·¤Þ¤»¤ó¡£IBM POWER ¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤ÏñÀºÅ٤ˤĤ¤¤Æ¤ÏÉôʬŪ¤Ê¥µ¥Ý¡¼¥È¤·¤«Ä󶡤·¤Æ¤¤¤Þ¤»¤ó¤¬¡¢¤³¤ÎÀá¤Ç¤ÏñÀºÅÙ / ÇÜÀºÅÙ¥·¥¹¥Æ¥à¤È¤·¤ÆʬÎष¤Þ¤¹¡£

³ÈÄ¥¥Ù¡¼¥¹¥·¥¹¥Æ¥à¤Ë¤ª¤±¤ë±é»»Æ°ºî¤¬Ã±ÀºÅÙ / ÇÜÀºÅÙ¥·¥¹¥Æ¥à¤Ë¤ª¤±¤ëÆ°ºî¤È¤É¤¦°Û¤Ê¤ë¤«¤ò³Îǧ¤¹¤ë¤¿¤á¤Ë¡¢212¥Ú¡¼¥¸¤Î C ¤Ë¤è¤ëÎã¤ò¹Í¤¨¤Æ¤ß¤Þ¤¹¡£

int main() {
    double  q;

 
    q = 3.0/7.0;
    if (q == 3.0/7.0) printf("Equal\n");
    else printf("Not Equal\n");
    return 0;
}

¤³¤ÎÎã¤Ç¤Ï¡¢Äê¿ô 3.0 ¤È 7.0 ¤¬ÇÜÀºÅÙ¤ÎÉâÆ°¾®¿ôÅÀ¿ô¤È¤·¤Æ²ò¼á¤µ¤ì¤Æ¤ª¤ê¡¢¼° 3.0/
7.0 ¤Ï¡¢¥Ç¡¼¥¿·¿ double ¤ò·Ñ¾µ¤·¤Þ¤¹¡£Ã±ÀºÅÙ / ÇÜÀºÅÙ¥·¥¹¥Æ¥à¤Ç¤Ï¡¢»ÈÍѤ¹¤ë¾å¤ÇÇÜÀºÅÙ¤¬¤â¤Ã¤È¤â¸úΨŪ¤Ê·Á¼°¤Ç¤¢¤ë¤¿¤á¡¢¤³¤Î¼°¤ÏÇÜÀºÅÙ¤Çɾ²Á¤µ¤ì¤Þ¤¹¡£¤½¤Î¤¿¤á¡¢ÇÜÀºÅÙ¤ËÀµ¤·¤¯´Ý¤á¤é¤ì¤¿ÃÍ 3.0/7.0 ¤¬ q ¤ËÂåÆþ¤µ¤ì¤Þ¤¹¡£¼¡¤Î¹Ô¤Ç¡¢¼° 3.0/7.0 ¤ÏºÆ¤ÓÇÜÀºÅÙ¤Çɾ²Á¤µ¤ì¤Þ¤¹¡£¤½¤Î·ë²Ì¤ÏÅöÁ³ q ¤ËÂåÆþ¤·¤¿¤Ð¤«¤ê¤ÎÃͤÈÅù¤·¤¤¤¿¤á¡¢¥×¥í¥°¥é¥à¤Ïͽ¬¤É¤ª¤ê¡ÖEqual¡×¤È½ÐÎϤ·¤Þ¤¹¡£

³ÈÄ¥¥Ù¡¼¥¹¥·¥¹¥Æ¥à¤Ç¤Ï¼° 3.0/7.0 ¤Î·¿¤¬ double ¤Î¾ì¹ç¤Ç¤â¡¢¾¦¤Ï¥ì¥¸¥¹¥¿Æâ¤Ç³ÈÄ¥ÇÜÀºÅÙ·Á¼°¤Ç (¤Ä¤Þ¤ê¥Ç¥Õ¥©¥ë¥È¥â¡¼¥É¤Ç) ·×»»¤µ¤ì¡¢³ÈÄ¥ÇÜÀºÅ٤˴ݤá¤é¤ì¤Þ¤¹¡£¤·¤«¤·¡¢·ë²Ì¤ÎÃͤ¬ÊÑ¿ô q ¤ËÂåÆþ¤µ¤ì¤ëºÝ¤Ë¤³¤ÎÃͤϥá¥â¥ê¡¼¤Ë³ÊǼ¤µ¤ì¡¢q ¤Ï double ¤ÈÀë¸À¤µ¤ì¤Æ¤¤¤ë¤¿¤á¤ËÃͤÏÇÜÀºÅ٤˴ݤá¤é¤ì¤Þ¤¹¡£¼¡¤Î¹Ô¤Ç¡¢¼° 3.0/7.0 ¤ÏºÆ¤Ó³ÈÄ¥ÀºÅÙ¤Çɾ²Á¤µ¤ì¤ë¤³¤È¤¬¤¢¤ê¡¢¤½¤Î¾ì¹ç¤Ë¤Ï q ¤Ë³ÊǼ¤µ¤ì¤Æ¤¤¤ëÇÜÀºÅÙ¤ÎÃͤȤϰۤʤë·ë²Ì¤òÀ¸À®¤·¡¢¥×¥í¥°¥é¥à¤Ï¡ÖNot equal¡×¤È½ÐÎϤ·¤Þ¤¹¡£ÅöÁ³¡¢¤Û¤«¤Î½ÐÎϤâ¹Í¤¨¤é¤ì¤Þ¤¹¡£¥³¥ó¥Ñ¥¤¥é¤Ï¡¢2 ÈÖÌܤιԤǼ° 3.0/7.0 ¤ÎÃͤγÊǼ¤È´Ý¤á¤ò¹Ô¤Ã¤¿¸å¤Ç¤½¤ì¤ò q ¤ÈÈæ³Ó¤¹¤ë¤³¤È¤â¡¢Ãͤò³ÊǼ¤»¤º¤Ë¥ì¥¸¥¹¥¿¤Ë³ÈÄ¥ÀºÅÙ¤Ç q ¤òÊÝ»ý¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ºÇŬ²½¥³¥ó¥Ñ¥¤¥é¤Ï¡¢¥³¥ó¥Ñ¥¤¥ë»þ¤Ë¼° 3.0/7.0 ¤òÇÜÀºÅÙ¤Çɾ²Á¤¹¤ë¤³¤È¤â³ÈÄ¥ÇÜÀºÅÙ¤Çɾ²Á¤¹¤ë¤³¤È¤â¹Í¤¨¤é¤ì¤Þ¤¹ (1 ¤Ä¤Î x86 ¥³¥ó¥Ñ¥¤¥é¤Ë¤ª¤¤¤Æ¡¢ºÇŬ²½¤Ë¤è¤ê¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤È¤­¤Ë¥×¥í¥°¥é¥à¤Ï¡ÖEqual¡×¤È½ÐÎϤ·¡¢¥Ç¥Ð¥Ã¥°¤Î¤¿¤á¤Ë¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤È¤­¤Ï¡ÖNot Equal¡×¤È½ÐÎϤ·¤Þ¤¹)¡£³ÈÄ¥¥Ù¡¼¥¹¥·¥¹¥Æ¥àÍѤΥ³¥ó¥Ñ¥¤¥é¤ÎÃæ¤Ë¤Ï¡¢´Ý¤áÀºÅ٥⡼¥É¤ò¼«Æ°Åª¤ËÊѹ¹¤·¡¢¥ì¥¸¥¹¥¿Æâ¤Ë·ë²Ì¤òÀ¸À®¤¹¤ë±é»»¤Ë¤è¤Ã¤Æ·ë²Ì¤ò (¤è¤ê¹­¤¤ÈϰϤò»ÈÍѤ·¤Æ) ñÀºÅÙ¤Þ¤¿¤ÏÇÜÀºÅ٤˴ݤá¤ë¤â¤Î¤â¤¢¤ê¤Þ¤¹¡£¤½¤Î¤¿¤á¡¢¤³¤Î¤è¤¦¤Ê¥·¥¹¥Æ¥à¤Ç¤Ï¡¢¤½¤Î¥½¡¼¥¹¥³¡¼¥É¤òÆɤ߼è¤ê IEEE 754 ±é»»¤Î´ðËÜŪ¤Ê²ò¼á¤òŬÍѤ¹¤ë¤À¤±¤Ç¤Ï¡¢¥×¥í¥°¥é¥à¤ÎÆ°ºî¤òͽ¬¤Ç¤­¤Þ¤»¤ó¡£»ä¤¿¤Á¤Ï¡¢¥Ï¡¼¥É¥¦¥§¥¢¤ä¥³¥ó¥Ñ¥¤¥é¤¬ IEEE 754 ½àµò¤Î´Ä¶­¤òÄ󶡤·¤Ê¤¤¤«¤é¤È¤¤¤Ã¤ÆÀÕ¤á¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£¥Ï¡¼¥É¥¦¥§¥¢¤Ï¡¢µá¤á¤é¤ì¤ë¤È¤ª¤ê¡¢Àµ³Î¤Ë´Ý¤á¤é¤ì¤¿·ë²Ì¤ò¤½¤ì¤¾¤ì¤Î°¸Àè¤ËÇÛÉÛ¤·¤Æ¤¤¤Þ¤¹¡£¥³¥ó¥Ñ¥¤¥é¤Ï¡¢µö²Ä¤µ¤ì¤Æ¤¤¤ë¤È¤ª¤ê¡¢¥æ¡¼¥¶¡¼¤ÎÀ©¸æ¤ÎµÚ¤Ð¤Ê¤¤°¸Àè¤ËÃæ´Ö·ë²Ì¤òÂåÆþ¤·¤Æ¤¤¤Þ¤¹¡£

³ÈÄ¥¥Ù¡¼¥¹¥·¥¹¥Æ¥à¤Ë¤ª¤±¤ë±é»»¤ÎÍî¤È¤··ê

À¤´Ö°ìÈ̤ÎÄÌÇ°¤Ç¤Ï¡¢³ÈÄ¥¥Ù¡¼¥¹¥·¥¹¥Æ¥à¤Ï¡¢Ã±ÀºÅÙ / ÇÜÀºÅÙ¥·¥¹¥Æ¥à¤ÇÇÛÉÛ¤µ¤ì¤ë·ë²Ì¤è¤êÀµ³Î¤È¤Ï¸À¤¨¤Ê¤¯¤Æ¤â¡¢ºÇÄã¸ÂÀµ³Î¤Ê·ë²Ì¤òÀ¸À®¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤È¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤ì¤Ï¡¢³ÈÄ¥¥Ù¡¼¥¹¥·¥¹¥Æ¥à¤¬¾ï¤Ë¾¯¤Ê¤¯¤Æ¤âñÀºÅÙ / ÇÜÀºÅÙ¥·¥¹¥Æ¥à¤ÈƱ¤¸Àµ³ÎÅÙ¤òÄ󶡤·¤Æ¤ª¤ê¡¢Ã±ÀºÅÙ / ÇÜÀºÅÙ¥·¥¹¥Æ¥à¤òĶ¤¨¤ëÀµ³ÎÅÙ¤òÄ󶡤¹¤ë¾ì¹ç¤â¿¤¤¤¿¤á¤Ç¤¹¡£Á°µ­¤Î C ¥×¥í¥°¥é¥à¤Î¤è¤¦¤Êñ½ã¤ÊÎã¤ä°Ê²¼¤ÇÀâÌÀ¤¹¤ëÎã¤Ë´ð¤Å¤¤¤¿Èæ³ÓŪÈù̯¤Ê¥×¥í¥°¥é¥à¤Ï¡¢¤³¤ÎÄÌÇ°¤¬¤»¤¤¤¼¤¤ÍýÁÛÏÀ¤Ç¤¢¤ë¤³¤È¤ò¼¨¤·¤Æ¤¤¤Þ¤¹¡£Ã±ÀºÅÙ / ÇÜÀºÅÙ¥·¥¹¥Æ¥à¤Ë¤Ï³Î¤«¤Ë°Ü¿¢¤Ç¤­¤ë¤è¤¦¤Ê¡¢¸«¤«¤±¾å°Ü¿¢À­¤Î¤¢¤ë¥×¥í¥°¥é¥à¤ÎÃæ¤Ë¤Ï¡¢³ÈÄ¥¥Ù¡¼¥¹¥·¥¹¥Æ¥à¤Ç¤ÏÌÀ¤é¤«¤ËÉÔÀµ³Î¤Ê·ë²Ì¤ò½Ð¤¹¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤Ï¡¢¥³¥ó¥Ñ¥¤¥é¤È¥Ï¡¼¥É¥¦¥§¥¢¤¬¡¢»þÀÞ¥×¥í¥°¥é¥à¤¬´üÂÔ¤¹¤ë°Ê¾å¤ÎÀºÅÙ¤òÄ󶡤·¤è¤¦¤È¤¹¤ë¤¿¤á¤Ç¤¹¡£

¸½ºß¤Î³Æ¼ï¤Î¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤Ç¤Ï¡¢¥×¥í¥°¥é¥à¤¬´üÂÔ¤¹¤ëÀºÅÙ¤ò»ØÄꤹ¤ë¤³¤È¤¬º¤Æñ¤Ç¤¹¡£¡Ö¸À¸ì¤È¥³¥ó¥Ñ¥¤¥é¡×¤ÎÀá¤Ç¿¨¤ì¤Æ¤¤¤ë¤è¤¦¤Ë¡¢Â¿¤¯¤Î¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤Ï¡¢Æ±¤¸¥³¥ó¥Æ¥­¥¹¥ÈÆâ¤Ç 10.0*x ¤Î¤è¤¦¤Ê¼°¤¬È¯À¸¤¹¤ë¤´¤È¤Ë¤½¤ì¤é¤¬Æ±¤¸ÃͤËɾ²Á¤µ¤ì¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤È¤Ï»ØÄꤷ¤Æ¤¤¤Þ¤»¤ó¡£Ada ¤Ê¤É°ìÉô¤Î¸À¸ì¤Ï¡¢¤³¤ÎÅÀ¤Ë¤Ä¤¤¤Æ IEEE µ¬³Ê°ÊÁ°¤Î¤µ¤Þ¤¶¤Þ¤Ê±é»»¤Ë¤ª¤±¤ë¥Ð¥ê¥¨¡¼¥·¥ç¥ó¤Î±Æ¶Á¤ò¼õ¤±¤Æ¤¤¤Þ¤¹¡£¤µ¤é¤Ë¿·¤·¤¤ ANSI C ¤Î¤è¤¦¤Ê¸À¸ì¤Ï¡¢É¸½à½àµò¤Î³ÈÄ¥¥Ù¡¼¥¹¥·¥¹¥Æ¥à¤Ë±Æ¶Á¤ò¼õ¤±¤Æ¤¤¤Þ¤¹¡£¼ÂºÝ ANSI C ɸ½à¤Ï¡¢¥³¥ó¥Ñ¥¤¥é¤¬ÉâÆ°¾®¿ôÅÀ¼°¤òÄ̾綠¤Î¼ïÎà¤ËÂбþ¤Å¤±¤é¤ì¤Æ¤¤¤ëÀºÅÙ¤è¤ê¤â¹­¤¤ÀºÅÙ¤Ëɾ²Á¤¹¤ë¤³¤È¤òÌÀ³Î¤Ëµö²Ä¤·¤Æ¤¤¤Þ¤¹¡£¤½¤Î·ë²Ì¡¢¼° 10.0*x ¤ÎÃͤϡ¢¼¡¤Î¤è¤¦¤Ê¤µ¤Þ¤¶¤Þ¤ÊÍ×°ø¤Ë¤è¤Ã¤Æ°Û¤Ê¤ê¤Þ¤¹¡£-- ¤½¤Î¼°¤¬ÊÑ¿ô¤Ë¤¿¤À¤Á¤ËÂåÆþ¤µ¤ì¤ë¤Î¤«¡¢¤½¤ì¤È¤â¤è¤êÂ礭¤Ê¼°¤Î°ìÉô¤È¤·¤Æɽ¼¨¤µ¤ì¤ë¤Î¤«¡¢¼°¤¬Èæ³Ó¤Ë´Ø·¸¤¹¤ë¤«¤É¤¦¤«¡¢¼°¤¬°ú¿ô¤È¤·¤Æ´Ø¿ô¤ËÅϤµ¤ì¤ë¤«¤É¤¦¤«¡¢¤Þ¤¿ÅϤµ¤ì¤ë¾ì¹ç¡¢°ú¿ô¤ÏÃͤȻ²¾È¤Î¤É¤Á¤é¤È¤·¤ÆÅϤµ¤ì¤ë¤«¡¢¸½ºß¤ÎÀºÅ٥⡼¥É¡¢¥×¥í¥°¥é¥à¤Î¥³¥ó¥Ñ¥¤¥ë¤Ë»ÈÍѤµ¤ì¤¿ºÇŬ²½¤Î¥ì¥Ù¥ë¡¢¥×¥í¥°¥é¥à¤Î¥³¥ó¥Ñ¥¤¥ë»þ¤Ë¥³¥ó¥Ñ¥¤¥é¤¬»ÈÍѤ·¤¿ÀºÅ٥⡼¥É¤È¼°¤Îɾ²ÁÊýË¡¤Ê¤É¡£

ͽ¬¤Î¤Ä¤«¤Ê¤¤¼°¤Îɾ²Á¤Ï¡¢¸À¸ìµ¬³Ê¤Ë¤¹¤Ù¤Æ¤Î¸¶°ø¤¬¤¢¤ë¤ï¤±¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£³ÈÄ¥¥Ù¡¼¥¹¥·¥¹¥Æ¥à¤Ï¡¢²Äǽ¤Ê¤«¤®¤ê¼°¤¬³ÈÄ¥ÀºÅ٥쥸¥¹¥¿¤Çɾ²Á¤µ¤ì¤ë¾ì¹ç¤Ë¤â¤Ã¤È¤â¸úΨ¤è¤¯Æ°ºî¤·¤Þ¤¹¡£¤·¤«¤·¡¢³ÊǼ¤¬É¬ÍפÊÃͤϡ¢Í׵ᤵ¤ì¤ë¤â¤Ã¤È¤â¶¹¤¤ÀºÅ٤dzÊǼ¤µ¤ì¤Þ¤¹¡£10.0*x ¤¬¤¢¤é¤æ¤ë°ÌÃÖ¤ÇƱ¤¸ÃͤËɾ²Á¤µ¤ì¤ë¤è¤¦¤Ë¸À¸ì¤ÇÍ׵ᤵ¤»¤ë¤È¡¢¤³¤ì¤é¤Î¥·¥¹¥Æ¥à¤Ç¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹Äã²¼¤È¤¤¤¦¥Ú¥Ê¥ë¥Æ¥£¤¬Èò¤±¤é¤ì¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£»ÄÇ°¤Ê¤¬¤é¡¢¹½Ê¸¾åƱ¤¸¥³¥ó¥Æ¥­¥¹¥È¤Ç 10.0*x ¤òÊ̤ÎÃͤËɾ²Á¤¹¤ë¤³¤È¤ò¤³¤ì¤é¤Î¥·¥¹¥Æ¥à¤Ëµö¤¹¤È¡¢¤½¤ì¼«ÂΤΥڥʥë¥Æ¥£¤¬Àµ³Î¤Ê¿ôÃÍ¥½¥Õ¥È¥¦¥§¥¢¤ò³«È¯¤¹¤ë¥×¥í¥°¥é¥Þ¤Ë¤«¤«¤ê¡¢°Õ¿Þ¤¹¤ë°ÕÌ£ÏÀ¤òɽ¸½¤¹¤ë¤¿¤á¤Ë¥×¥í¥°¥é¥à¤Î¹½Ê¸¤ËÍê¤ë¤³¤È¤¬¤Ç¤­¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£

¼ÂºÝ¤Î¥×¥í¥°¥é¥à¤Ï¡¢»ØÄꤵ¤ì¤¿¼°¤Ï¾ï¤ËƱ¤¸ÃͤËɾ²Á¤µ¤ì¤ë¤È¤¤¤¦²¾Äê¤ËÍê¤Ã¤Æ¤¤¤ë¤Î¤Ç¤·¤ç¤¦¤«¡£ln(1 + x) ¤ò·×»»¤¹¤ëÄêÍý 4 ¤Ç¼¨¤µ¤ì¤¿¥¢¥ë¥´¥ê¥º¥à¤ò»×¤¤½Ð¤·¤Æ¤¯¤À¤µ¤¤¡£¼¡¤Ë¡¢FORTRAN ¤Ë¤è¤ëµ­½Ò¤ò¼¨¤·¤Þ¤¹¡£

real function log1p(x)
real x
if (1.0 + x .eq. 1.0) then
   log1p = x
else
   log1p = log(1.0 + x) * x / ((1.0 + x) - 1.0)
endif
return

³ÈÄ¥¥Ù¡¼¥¹¥·¥¹¥Æ¥à¤Ç¤Ï¡¢¥³¥ó¥Ñ¥¤¥é¤Ï 3 ¹ÔÌܤμ° 1.0 + x ¤ò³ÈÄ¥ÀºÅÙ¤Çɾ²Á¤·¡¢¤½¤Î·ë²Ì¤ò 1.0 ¤ÈÈæ³Ó¤Ç¤­¤Þ¤¹¡£¤·¤«¤·¡¢¤³¤ÎƱ¤¸¼°¤¬ 6 ¹ÔÌÜ¤Ç log ´Ø¿ô¤ËÅϤµ¤ì¤ë¤È¤­¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¤½¤ÎÃͤò¥á¥â¥ê¡¼¤Ë³ÊǼ¤·¤Æ¡¢ÃͤòñÀºÅ٤˴ݤá¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤½¤Î¤¿¤á x ¤Î¥µ¥¤¥º¤¬¡¢³ÈÄ¥ÀºÅÙ¤Ç 1.0 + x ¤¬1.0 ¤Ë´Ý¤á¤é¤ì¤ë¤Û¤É¾®¤µ¤¯¤Ê¤¤¤¬¡¢Ã±ÀºÅÙ¤Ç¤Ï 1.0 + x ¤¬ 1.0 ¤Ë´Ý¤á¤é¤ì¤ë¤¯¤é¤¤¾®¤µ¤¤¤È¤¤¤¦¾ì¹ç¡¢log1p(x) ¤¬ÊÖ¤¹ÃÍ¤Ï x ¤Ç¤Ï¤Ê¤¯¥¼¥í¤Ë¤Ê¤ê¡¢ÁêÂÐ¸íº¹¤Ï 1 ¤Ë¤Ê¤ê¤Þ¤¹ (5e ¤è¤ê¤â¤¤¤¯¤Ö¤óÂ礭¤¤)¡£Æ±Íͤˡ¢¥µ¥Ö¥¨¥¯¥¹¥×¥ì¥Ã¥·¥ç¥ó 1.0 + x ¤¬ºÆ»ØÄꤵ¤ì¤Æ¤¤¤ë 6 ¹ÔÌܤμ°¤Î»Ä¤êÉôʬ¤¬³ÈÄ¥ÀºÅÙ¤Çɾ²Á¤µ¤ì¤ë¤³¤È¤òÁÛÄꤷ¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢x ¤¬¡¢¾®¤µ¤¤¤¬ 1.0 + x ¤¬Ã±ÀºÅÙ¤Ç 1.0 ¤Ë´Ý¤á¤é¤ì¤ë¤Û¤É¤Ë¤Ï¾®¤µ¤¯¤Ê¤¤¤È¤¤¤¦¤È¤­¡¢log1p(x) ¤¬ÊÖ¤¹ÃͤÏÀµ¤·¤¤Ãͤè¤ê¤âÂ礭¤¯¤Ê¤ê¤Þ¤¹¡£¤³¤Îº¹¤Ï x ¤È¤Û¤ÜƱ¤¸¤Ç¡¢ÁêÂÐ¸íº¹¤Ï¤³¤Î¾ì¹ç¤â 1 ¤Ë¶á¤Å¤­¤Þ¤¹¡£¶ñÂÎŪ¤ÊÎã¤È¤·¤Æ¡¢x ¤ò 2-24 + 2-47 ¤ÈÁÛÄꤷ¤Þ¤¹¡£¤Ä¤Þ¤ê x ¤Ï¡¢1.0 + x ¤¬¼¡¤ËÂ礭¤Ê¿ôÃÍ 1 + 2-23 ¤Ë´Ý¤á¤é¤ì¤ë¤è¤¦¤ÊºÇ¾®¤ÎñÀºÅÙ¿ô¤Ç¤¹¡£¤³¤Î¾ì¹ç¡¢log(1.0 + x) ¤Ï¤ª¤è¤½ 2-23 ¤Ç¤¹¡£6 ¹ÔÌܤμ°¤ÎʬÊì¤Ï³ÈÄ¥ÀºÅÙ¤Çɾ²Á¤µ¤ì¤ë¤¿¤á¡¢Àµ³Î¤Ë·×»»¤µ¤ì¤Æ x ¤òÇÛÉÛ¤·¤Þ¤¹¡£¤½¤Î¤¿¤á log1p(x) ¤ÏÀµ³Î¤ÊÃÍ¤Î¤Û¤Ü 2 Çܤˤ¢¤¿¤ë¤ª¤è¤½ 2-23 ¤òÊÖ¤·¤Þ¤¹¡£¤³¤Î¤è¤¦¤Ê¾õ¶·¤Ï¡¢¾¯¤Ê¤¯¤È¤â 1 ¤Ä¤Î¥³¥ó¥Ñ¥¤¥é¤ÇȯÀ¸¤·¤Þ¤¹¡£Á°µ­¤Î¥³¡¼¥É¤¬ x86 ¥·¥¹¥Æ¥àÍѤΠSun WorkShop Compiler 4.2.1 FORTRAN 77 ¥³¥ó¥Ñ¥¤¥é¤Ç -O ºÇŬ²½¥Õ¥é¥°¤ò»ÈÍѤ·¤Æ¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤ë¾ì¹ç¡¢À¸À®¤µ¤ì¤¿¥³¡¼¥É¤Ï 1.0 + x ¤ò¾åµ­¤Î¤È¤ª¤ê¤Ë·×»»¤·¤Þ¤¹¡£¤½¤Î·ë²Ì¡¢¤³¤Î´Ø¿ô¤Ï log1p(1.0e-10) ¤Ë¥¼¥í¤òÇÛÉÛ¤·¡¢log1p(5.97e-8) ¤Ë 1.19209E-07 ¤òÇÛÉÛ¤·¤Þ¤¹¡£

ÄêÍý 4 ¤Î¥¢¥ë¥´¥ê¥º¥à¤¬Àµ¤·¤¯Æ°ºî¤¹¤ë¤¿¤á¤Ë¤Ï¡¢¼° 1.0 + x ¤Ï½Ð¸½¤¹¤ë¤¿¤Ó¤ËƱ¤¸ÊýË¡¤Çɾ²Á¤µ¤ì¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¤³¤Î¥¢¥ë¥´¥ê¥º¥à¤Ï¡¢1.0 + x ¤¬¤¢¤ë¤È¤­¤Ï³ÈÄ¥ÇÜÀºÅÙ¤Ëɾ²Á¤µ¤ì¡¢¤¢¤ë¤È¤­¤ÏñÀºÅÙ¤äÇÜÀºÅÙ¤Ëɾ²Á¤µ¤ì¤ë¤È¤¤¤¦¤è¤¦¤Ë°ìÄê¤Ç¤Ê¤¤¾ì¹ç¤À¤±¡¢³ÈÄ¥¥Ù¡¼¥¹¥·¥¹¥Æ¥à¤ÇÀµ¤·¤¤·ë²Ì¤ò½Ð¤·¤Þ¤»¤ó¡£log ¤Ï FORTRAN ¤ÎÁí¾ÎÁȤ߹þ¤ß´Ø¿ô¤Ç¤¢¤ë¤¿¤á¡¢ÅöÁ³¥³¥ó¥Ñ¥¤¥é¤Ï¼° 1.0 + x ¤ò½ª»Ï³ÈÄ¥ÀºÅÙ¤Çɾ²Á¤·¤Æ¤½¤ÎÂпô¤òƱ¤¸ÀºÅ٤Ƿ׻»¤Ç¤­¤Þ¤¹¤¬¡¢¥³¥ó¥Ñ¥¤¥é¤¬¤½¤Î¤è¤¦¤Ë¼Â¹Ô¤¹¤ë¤È·è¤á¤Æ¤«¤«¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó (¥æ¡¼¥¶¡¼ÄêµÁ¤Î´Ø¿ô¤ò»ÈÍѤ·¤¿Îà»÷Îã¤Î¾ì¹ç¡¢´Ø¿ô¤¬Ã±ÀºÅ٤ηë²Ì¤òÊÖ¤¹¾ì¹ç¤Ç¤â¥³¥ó¥Ñ¥¤¥é¤Ï³ÈÄ¥ÀºÅ٤ǰú¿ô¤òÊÝ»ý¤Ç¤­¤Þ¤¹¡£¤·¤«¤·¡¢¤â¤·Â¸ºß¤·¤¿¤È¤·¤Æ¤â¡¢¤³¤ì¤ò¼Â¹Ô¤¹¤ë FORTRAN ¥³¥ó¥Ñ¥¤¥é¤Ï¤Û¤È¤ó¤É¤¢¤ê¤Þ¤»¤ó)¡£¤½¤Î¤¿¤á¡¢1.0 + x ¤òÊÑ¿ô¤ËÂåÆþ¤¹¤ë¤³¤È¤Ë¤è¤ê¡¢¤³¤Î¼°¤ò¾ï¤ËƱ¤¸¤è¤¦¤Ëɾ²Á¤µ¤»¤è¤¦¤È¥×¥í¥°¥é¥Þ¤Ï»î¤ß¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£»ÄÇ°¤Ê¤¬¤é¡¢ÊÑ¿ô real ¤òÀë¸À¤¹¤ë¤È¡¢¤¢¤ëÊÑ¿ô¤ò³ÈÄ¥ÀºÅ٤ǥ쥸¥¹¥¿¤Ë³ÊǼ¤µ¤ì¤Æ¤¤¤ëÃͤÇÃÖ´¹¤·¡¢Ê̤ÎÊÑ¿ô¤òñÀºÅ٤ǥá¥â¥ê¡¼¤Ë³ÊǼ¤µ¤ì¤Æ¤¤¤ëÃͤÇÃÖ´¹¤¹¤ë¤è¤¦¤Ê¥³¥ó¥Ñ¥¤¥é¤Ç΢¤ò¤«¤«¤ì¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£¤½¤³¤Ç¡¢³ÈÄ¥ÀºÅÙ·Á¼°¤ËÂбþ¤¹¤ë·¿¤ÎÊÑ¿ô¤òÀë¸À¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£É¸½à FORTRAN 77 ¤Ï¡¢¤³¤Î¤è¤¦¤ÊÊýË¡¤òÄ󶡤·¤Æ¤¤¤Þ¤»¤ó¡£FORTRAN 95 ¤Ï³Æ¼ï¤Î·Á¼°¤òɽ¸½¤¹¤ë SELECTED_REAL_KIND ¥á¥«¥Ë¥º¥à¤òÄ󶡤·¤Æ¤¤¤Þ¤¹¤¬¡¢ÊÑ¿ô¤¬³ÈÄ¥ÀºÅÙ¤ÇÀë¸À¤µ¤ì¤ë¤è¤¦¤Ë³ÈÄ¥ÀºÅ٤Ǽ°¤òɾ²Á¤¹¤ë¼ÂÁõ¤ò¤Ï¤Ã¤­¤ê¤È¤Ïµ¬Äꤷ¤Æ¤¤¤Þ¤»¤ó¡£¤Ä¤Þ¤ê¡¢É¸½à¤Î FORTRAN ¤Ë¤Ï¡¢¼° 1.0 + x ¤¬»ä¤¿¤Á¤Î¾ÚÌÀ¤ò̵¸ú¤Ë¤·¤Æ¤·¤Þ¤¦ÊýË¡¤Çɾ²Á¤µ¤ì¤ë¤³¤È¤ò³Î¼Â¤ËËɤ°¤è¤¦¤Ê²ÄÈÂÀ­¤Î¤¢¤ëÊýË¡¤Ï¤¢¤ê¤Þ¤»¤ó¡£

³ÈÄ¥¥Ù¡¼¥¹¥·¥¹¥Æ¥à¤Ç¤Ï¡¢³Æ¥µ¥Ö¥¨¥¯¥¹¥×¥ì¥Ã¥·¥ç¥ó¤¬³ÊǼ¤µ¤ì¡¢¤·¤¿¤¬¤Ã¤ÆƱ¤¸ÀºÅ٤˴ݤá¤é¤ì¤Æ¤¤¤ë¾ì¹ç¤Ç¤â¡¢¸íÆ°ºî¤¹¤ëÎ㤬¤Û¤«¤Ë¤â¤¢¤ê¤Þ¤¹¡£¸¶°ø¤ÏÆó½Å¤Î´Ý¤á¤Ç¤¹¡£¥Ç¥Õ¥©¥ë¥È¤ÎÀºÅ٥⡼¥É¤Ç¤Ï¡¢³ÈÄ¥¥Ù¡¼¥¹¥·¥¹¥Æ¥à¤Ï½é¤á¤Ë¤½¤ì¤¾¤ì¤Î·ë²Ì¤ò³ÈÄ¥ÇÜÀºÅ٤˴ݤá¤Þ¤¹¡£¤½¤Î¸å¤³¤Î·ë²Ì¤¬ÇÜÀºÅ٤˳ÊǼ¤µ¤ì¤ë¾ì¹ç¤Ë¤Ï¡¢ºÆ¤Ó´Ý¤á¤¬¹Ô¤ï¤ì¤Þ¤¹¡£¤³¤Î 2 Å٤δݤá¤ÎÁȤ߹ç¤ï¤»¤Ë¤è¤ê¡¢ºÇ½é¤Î·ë²Ì¤òÀµ¤·¤¯ÇÜÀºÅ٤˴ݤá¤ë¤È¤­¤ËÆÀ¤é¤ì¤ëÃͤȤϰۤʤëÃͤ¬À¸À®¤µ¤ì¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤Ï¡¢³ÈÄ¥ÇÜÀºÅ٤˴ݤá¤é¤ì¤¿·ë²Ì¤¬¡ÖÃæ´ÖÃÍ¡×(2 ¤Ä¤ÎÇÜÀºÅÙ¿ô¤Î¤Á¤ç¤¦¤ÉÃæ´Ö) ¤Ç¤¢¤ë¤¿¤á¡¢ 2 ÅÙ¤á¤Î´Ý¤á¤¬·ë¹ç¤ò¶ö¿ô¤Ë´Ý¤á¤ëµ¬Â§¤Ë¤è¤Ã¤Æ·èÄꤵ¤ì¤ë¾ì¹ç¤Ëµ¯¤­¤Þ¤¹¡£¤³¤Î 2 ÈÖÌܤδݤ᤬ºÇ½é¤Î´Ý¤á¤ÈƱ¤¸Êý¸þ¤Ç¹Ô¤ï¤ì¤ë¾ì¹ç¡¢ºÇ½ªÅª¤Ê´Ý¤á¸íº¹¤ÏºÇ½ª·å¤Î¥æ¥Ë¥Ã¥È¤ÎȾʬ¤òĶ¤¨¤Þ¤¹¡£¤·¤«¤·¡¢Æó½Å¤Î´Ý¤á¤ÏÇÜÀºÅٱ黻¤Ë¤·¤«±Æ¶Á¤òÍ¿¤¨¤Þ¤»¤ó¡£½é¤á¤Ë q ¥Ó¥Ã¥È¤Ë´Ý¤á¤é¤ì¡¢Â³¤¤¤Æ p ¥Ó¥Ã¥È¤Ë´Ý¤á¤é¤ì¤ë¤è¤¦¤Ê¡¢2 ¤Ä¤Î p ¥Ó¥Ã¥È¿ôÃͤιç·×¡¢º¹¡¢ÀÑ¡¢¤Þ¤¿¤Ï¾¦¡¢¤¢¤ë¤¤¤Ï p ¥Ó¥Ã¥È¿ôÃͤÎÊ¿Êýº¬¤Ï¡¢q ¡æ 2p + 2 ¤Î¾ì¹ç¡¢·ë²Ì¤¬¤¢¤¿¤«¤â 1 ÅÙ¤À¤±¤Ç p ¥Ó¥Ã¥È¤Ë´Ý¤á¤é¤ì¤¿¤«¤Î¤è¤¦¤ËƱ¤¸ÃͤòÀ¸À®¤¹¤ë¤³¤È¤¬¤ï¤«¤ê¤Þ¤¹¡£³ÈÄ¥ÇÜÀºÅ٤Ͻ½Ê¬¹­¤¤¤¿¤á¡¢Ã±ÀºÅٱ黻¤ÏÆó½Å¤Î´Ý¤á¤ò¼õ¤±¤ë¤³¤È¤¬¤¢¤ê¤Þ¤»¤ó¡£

Àµ³Î¤Ê´Ý¤á¤òÁ°Äó¤È¤¹¤ë¥¢¥ë¥´¥ê¥º¥à¤ÎÃæ¤Ë¤Ï¡¢Æó½Å¤Î´Ý¤á¤ËÂбþ¤Ç¤­¤Ê¤¤¤â¤Î¤â¤¢¤ê¤Þ¤¹¡£¼ÂºÝ¡¢Àµ³Î¤Ê´Ý¤á¤òɬÍפȤ»¤º IEEE 754 ¤Ë½àµò¤·¤Ê¤¤¤µ¤Þ¤¶¤Þ¤Ê¥Þ¥·¥ó¤ÇÀµ¤·¤¯Æ°ºî¤¹¤ë¤è¤¦¤Ê¥¢¥ë¥´¥ê¥º¥à¤Ç¤âÆó½Å¤Î´Ý¤á¤ÇÆ°ºî¤·¤Ê¤¯¤Ê¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤é¤ÎÃæ¤Ç¤â¤Ã¤È¤âÊØÍø¤Ê¤Î¤Ï¡¢189¥Ú¡¼¥¸¤Ç¿¨¤ì¤Æ¤¤¤ë¥·¥ß¥å¥ì¡¼¥È¤µ¤ì¤¿Â¿½ÅÀºÅٱ黻¤ò¼Â¹Ô¤¹¤ë¤¿¤á¤Î°Ü¿¢À­¤Î¤¢¤ë¥¢¥ë¥´¥ê¥º¥à¤Ç¤¹¡£¤¿¤È¤¨¤Ð¡¢ÉâÆ°¾®¿ôÅÀ¿ô¤ò¾å°Ì¤È²¼°Ì¤ÎÉôʬ¤Ëʬ³ä¤¹¤ë¤¿¤á¤ÎÄêÍý 6 ¤Ç½Ò¤Ù¤é¤ì¤¿ÊýË¡¤Ï¡¢Æó½Å¤Î´Ý¤á±é»»¤Ç¤ÏÀµ¤·¤¯Æ°ºî¤·¤Þ¤»¤ó¡£ÇÜÀºÅÙ¿ô 252 + 3 x 226 - 1 ¤ò¡¢¤½¤ì¤¾¤ìºÇÂç 26 ¥Ó¥Ã¥È¤Ç 2 ¤Ä¤ÎÉôʬ¤Ëʬ³ä¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£¤½¤ì¤¾¤ì¤Î±é»»¤¬ÇÜÀºÅÙ¤ËÀµ¤·¤¯´Ý¤á¤ì¤ë¤È¤­¡¢¾å°Ì¤ÎÉôʬ¤Ï 252 + 227 ¤È¤Ê¤ê²¼°Ì¤ÎÉôʬ¤Ï 226 - 1 ¤È¤Ê¤ê¤Þ¤¹¤¬¡¢¤½¤ì¤¾¤ì¤Î±é»»¤¬½é¤á¤Ë³ÈÄ¥ÇÜÀºÅ٤˴ݤá¤é¤ì³¤¤¤ÆÇÜÀºÅ٤˴ݤá¤é¤ì¤ë¤È¤­¡¢¾å°ÌÉôʬ¤È¤·¤Æ 252 + 228¡¢²¼°ÌÉôʬ¤È¤·¤Æ -226 - 1 ¤¬À¸À®¤µ¤ì¤Þ¤¹¡£-226 - 1 ¤Ï 27 ¥Ó¥Ã¥È¤òɬÍפȤ¹¤ë¤¿¤á¡¢¤½¤ÎÆó¾è¤ÏÇÜÀºÅ٤ǤÏÀµ³Î¤Ë·×»»¤Ç¤­¤Þ¤»¤ó¡£¤â¤Á¤í¤ó¡¢¤³¤Î¿ôÃͤÎÆó¾è¤ò³ÈÄ¥ÇÜÀºÅ٤Ƿ׻»¤¹¤ë¤³¤È¤Ï²Äǽ¤Ç¤¹¤¬¡¢¤½¤Î·ë²ÌÀ¸¤Þ¤ì¤ë¥¢¥ë¥´¥ê¥º¥à¤ÏñÀºÅÙ / ÇÜÀºÅÙ¥·¥¹¥Æ¥à¤Ë¤Ï°Ü¿¢¤Ç¤­¤Þ¤»¤ó¡£¤Þ¤¿¡¢Â¿½ÅÀºÅ٤ξ軻¥¢¥ë¥´¥ê¥º¥à¤Ë¤è¤ë¤½¤Î¸å¤Î¥¹¥Æ¥Ã¥×¤Ï¡¢¤¹¤Ù¤Æ¤ÎÉôʬÀѤ¬ÇÜÀºÅ٤Ƿ׻»¤µ¤ì¤Æ¤¤¤ë¤³¤È¤òÁ°Äó¤È¤·¤Þ¤¹¡£ÇÜÀºÅÙÊÑ¿ô¤È³ÈÄ¥ÇÜÀºÅÙÊÑ¿ô¤ÎÁȤ߹ç¤ï¤»¤òÀµ³Î¤Ë½èÍý¤¹¤ë¤Ë¤Ï¡¢¼ÂÁõ¤Î¼ê´Ö¤¬ÂçÉý¤ËÁý¤¨¤Þ¤¹¡£

ƱÍͤˡ¢ÇÜÀºÅÙÃͤÎÇÛÎó¤È¤·¤Æɽ¸½¤µ¤ì¤ë¿½ÅÀºÅÙÃͤò²Ã¤¨¤ë°Ü¿¢À­¤Î¤¢¤ë¥¢¥ë¥´¥ê¥º¥à¤Ï¡¢Æó½Å¤Ë´Ý¤á¤ò¹Ô¤¦±é»»¤Ç¤Ï¼ºÇÔ¤¹¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¤è¤¦¤Ê¥¢¥ë¥´¥ê¥º¥à¤Ï¡¢Ä̾ïKahan ¤Î²ÃË¡¸ø¼°¤ËÎà»÷¤·¤¿¼êË¡¤ËÍê¤Ã¤Æ¤¤¤Þ¤¹¡£239¥Ú¡¼¥¸¤Ëµó¤²¤é¤ì¤¿¡¢²ÃË¡¸ø¼°¤ò´Êñ¤Ë¼¨¤·¤¿¿Þ¤«¤é¤ï¤«¤ë¤è¤¦¤Ë¡¢s ¤È y ¤¬ |s| ¡æ |y| ¤Ç¤¢¤ëÉâÆ°¾®¿ôÅÀÊÑ¿ô¤Ç¤¢¤ê¡¢¼¡¤Î·×»»¤ò¼Â¹Ô¤¹¤ë¾ì¹ç¡¢¤Û¤È¤ó¤É¤Î±é»»¤Ë¤ª¤¤¤Æ e ¤Ï t ¤Î·×»»¤ÇȯÀ¸¤·¤¿´Ý¤á¸íº¹¤òÀµ³Î¤Ë²óÉü¤µ¤»¤Þ¤¹¡£

t = s + y;
e = (s - t) + y;

¤·¤«¤·¤³¤Î¼êË¡¤Ï¡¢Æó½Å¤Ë´Ý¤á¤é¤ì¤ë±é»»¤Ç¤Ï̵¸ú¤Ç¤¹¡£s = 252 + 1¡¢y = 1/2 - 2-54 ¤Î¾ì¹ç¡¢s + y ¤Ï½é¤á¤Ë³ÈÄ¥ÇÜÀºÅÙ¤Ç 252 + 3/2 ¤Ë´Ý¤á¤é¤ì¡¢¤µ¤é¤Ë·ë¹ç¤ò¶ö¿ô¤Ë´Ý¤á¤ëµ¬Â§¤Ë¤è¤Ã¤ÆÇÜÀºÅÙ¤Ç 252 + 2 ¤Ë´Ý¤á¤é¤ì¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ t ¤Î·×»»¤Ë¤ª¤±¤ëºÇ½ªÅª¤Ê´Ý¤á¸íº¹¤Ï 1/2 + 2-54 ¤Ç¤¹¡£¤³¤ì¤Ï¡¢ÇÜÀºÅÙ¤ÇÀµ³Î¤Ëɽ¸½¤¹¤ë¤³¤È¤ÏÉÔ²Äǽ¤Ç¤¢¤ê¡¢¤½¤Î¤¿¤á¾åµ­¤Î¼°¤Ç¤ÏÀµ³Î¤Ë·×»»¤Ç¤­¤Þ¤»¤ó¡£¤³¤Î¾ì¹ç¤â¡¢³ÈÄ¥ÇÜÀºÅ٤Τޤ޹ç·×¤ò·×»»¤¹¤ë¤³¤È¤Ë¤è¤ê´Ý¤á¸íº¹¤ò²óÉü¤Ç¤­¤Þ¤¹¤¬¡¢¤½¤¦¤Ê¤ë¤È¥×¥í¥°¥é¥à¤ÏºÇ½ª½ÐÎϤò¸º¤é¤·¤ÆÇÜÀºÅÙ¤ËÌ᤹ºî¶È¤ò¹Ô¤¦É¬Íפ¬¤¢¤ê¡¢Æó½Å¤Î´Ý¤á¤¬¤³¤Î¥×¥í¥»¥¹¤âǺ¤Þ¤¹²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¤è¤¦¤ÊÍýͳ¤«¤é¡¢¤³¤ì¤é¤ÎÊýË¡¤Ë¤è¤ë¿½ÅÀºÅٱ黻¤Î¥·¥ß¥å¥ì¡¼¥È¤ò¹Ô¤¦°Ü¿¢À­¤Î¤¢¤ë¥×¥í¥°¥é¥à¤Ï¿Íͤʥޥ·¥ó¤ÇÀµ¤·¤¯¸úΨŪ¤ËÆ°ºî¤·¤Þ¤¹¤¬¡¢³ÈÄ¥¥Ù¡¼¥¹¥·¥¹¥Æ¥à¤Ç¤Ï¸øɽ¤É¤ª¤ê¤Ë¤ÏÆ°ºî¤·¤Þ¤»¤ó¡£

°ì¸«Àµ³Î¤Ê´Ý¤á¤Ë°Í¸¤·¤Æ¤¤¤ë¤è¤¦¤Ê¥¢¥ë¥´¥ê¥º¥à¤Ç¤â¡¢¼ÂºÝ¤ÏÆó½Å¤Î´Ý¤á¤ÇÀµ¤·¤¯Æ°ºî¤¹¤ë¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¤è¤¦¤Ê¥±¡¼¥¹¤Ç¤Ï¡¢¼ÂÁõ¤Ç¤Ï¤Ê¤¯¥¢¥ë¥´¥ê¥º¥à¤¬¸øɽ¤É¤ª¤ê¤ËÆ°ºî¤¹¤ë¤«¤É¤¦¤«¸¡¾Ú¤¹¤ë¤¿¤á¤Ë¡¢¼ê´Ö¤Î¤«¤«¤ëÆó½Å¤Î´Ý¤á¤¬¹Ô¤ï¤ì¤Þ¤¹¡£¤³¤Î¤³¤È¤òÀâÌÀ¤¹¤ë¤¿¤á¡¢ÄêÍý 7 ¤ÎÊѹ¹Îã¤ò¼¡¤Ë¾ÚÌÀ¤·¤Þ¤¹¡£

ÄêÍý 7'

m ¤È n ¤¬ IEEE 754 ÇÜÀºÅÙ¤Çɽ¸½²Äǽ¤Ê |m| < 252 ¤ÎÀ°¿ô¤Ç¡¢n ¤¬ n = 2i + 2j ¤È¤¤¤¦Æüì¤Ê¼°¤Çɽ¤µ¤ì¤ë¾ì¹ç¡¢Î¾Êý¤ÎÉâÆ°¾®¿ôÅÀ±é»»¤¬ÇÜÀºÅÙ¤ËÀµ¤·¤¯´Ý¤á¤é¤ì¤ë¤«¡¢¤¢¤ë¤¤¤Ï½é¤á¤Ë³ÈÄ¥ÇÜÀºÅ٤˴ݤá¤é¤ì¤Æ³¤¤¤ÆÇÜÀºÅ٤˴ݤá¤é¤ì¤ë¤È¤­¡¢
(m n) n = m ¤Ç¤¢¤ë¡£

¾ÚÌÀ

»¼º¤Ê¤·¤Ç m > 0 ¤È²¾Äꤷ¤Þ¤¹¡£q = m n ¤È¤·¤Þ¤¹¡£2 ¤ÎÎß¾è¤Ç¥¹¥±¡¼¥ë¤·¡¢
252 ¡å m < 253¡¢252 ¡å q < 253 ¤È¤Ê¤ëƱÅù¤ÎÀßÄê¤ò¹Í¤¨¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢m ¤È q ¤ÎξÊý¤È¤â¡¢ºÇ²¼°Ì¥Ó¥Ã¥È¤¬¥æ¥Ë¥Ã¥È¤Î·å¤òÀê¤á¤ëÀ°¿ô (¤Ä¤Þ¤ê
ulp(m) = ulp(q) = 1) ¤Ç¤¹¡£¥¹¥±¡¼¥ëÁ°¤Ë m < 252 ¤È²¾Äꤷ¤¿¤¿¤á¡¢¥¹¥±¡¼¥ë¸å m ¤Ï¶ö¿ô¤ÎÀ°¿ô¤Ç¤¹¡£¤Þ¤¿¡¢m ¤È q ¤Î¥¹¥±¡¼¥ë¸å¤ÎÃÍ¤Ï m/2 < q < 2m ¤òËþ¤¿¤¹¤¿¤á¡¢Âбþ¤¹¤ë n ¤ÎÃͤϡ¢m ¤È q ¤Î¤É¤Á¤é¤¬Â礭¤¤¤«¤Ë´ð¤Å¤¤¤Æ¼¡¤Î 2 ¤Ä¤Î¼°¤Î¤¤¤º¤ì¤«¤Ë¤Ê¤ê¤Þ¤¹¡£
q < m ¤Î¾ì¹ç¡¢ÌÀ¤é¤«¤Ë 1 < n < 2 ¤Ç¤¢¤ê¡¢n ¤Ï 2 ¤Ä¤Î 2 ¤ÎÎß¾èÃͤιç·×¤Ç¤¢¤ë¤¿¤á¡¢ÆÃÄê¤Î k ¤Ë¤Ä¤¤¤Æ¤Ï n = 1 + 2-k ¤Ç¤¹¡£Æ±Íͤˡ¢q > m ¤Î¾ì¹ç 1/2 < n < 1 ¤Ç¤¢¤ë¤¿¤á¡¢n = 1/2 + 2-(k + 1) ¤Ç¤¹ (n ¤Ï 2 ¤Ä¤Î 2 ¤ÎÎß¾èÃͤιç·×¤Ç¤¢¤ë¤¿¤á¡¢1 ¤Ë¤â¤Ã¤È¤â¶á¤¤ÃͤǤ¢¤ë n ¤Ï n = 1 + 2-52¡£m/(1 + 2-52) ¤Ï¡¢m ¤è¤ê¾®¤µ¤¤ 2 ÈÖÌܤ˾®¤µ¤ÊÇÜÀºÅÙÃͤè¤ê¤âÂ礭¤¯¤Ê¤¤¤¿¤á¡¢q = m ¤È¤Ï¤Ê¤ê¤Þ¤»¤ó)¡£

q ¤òµá¤á¤ë¤¿¤á¤Î´Ý¤á¸íº¹¤ò e ¤È²¾Äꤷ¡¢q = m/n + e¡¢·×»»¤µ¤ì¤¿ÃÍ q n ¤Ï m + ne ¤ò 1 ÅÙ¤Þ¤¿¤Ï 2 Åٴݤ᤿ÃͤǤ¢¤ë¤È¤·¤Þ¤¹¡£ºÇ½é¤Ë¡¢¤½¤ì¤¾¤ì¤ÎÉâÆ°¾®¿ôÅÀ±é»»¤¬ÇÜÀºÅÙ¤ËÀµ¤·¤¯´Ý¤á¤é¤ì¤ë¾ì¹ç¤ò¹Í¤¨¤Æ¤ß¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢|e| < 1/2 ¤Ç¤¹¡£n ¤Î¼°¤¬
1/2 + 2-(k + 1) ¤Î¾ì¹ç¡¢ne = nq - m ¤Ï 2-(k + 1) ¤ÎÀ°¿ôÇܤǡ¢|ne| < 1/4 + 2-(k + 2) ¤Ç¤¹¡£¤³¤ì¤Ï¡¢|ne| ¡å 1/4 ¤ò°ÕÌ£¤·¤Þ¤¹¡£m ¤È¼¡¤ËÂ礭¤Êɽ¸½²Äǽ¤Ê¿ôÃͤκ¹¤Ï 1 ¤Ç¤¢¤ê¡¢m ¤È¼¡¤Ë¾®¤µ¤Êɽ¸½²Äǽ¤Ê¿ôÃͤκ¹¤Ï m > 252 ¤Î¾ì¹ç 1¡¢m = 252 ¤Î¾ì¹ç 1/2 ¤Ç¤¢¤ë¤³¤È¤ò»×¤¤½Ð¤·¤Æ¤¯¤À¤µ¤¤¡£¤³¤Î¤¿¤á¡¢|ne| ¡å 1/4 ¤Î¾ì¹ç¡¢m + ne ¤Ï m ¤Ë´Ý¤á¤é¤ì¤Þ¤¹ (m = 252 ¤Ç ne = -1/4 ¤Î¾ì¹ç¤Ç¤â¡¢ÀÑ¤Ï ·ë¹ç¤ò¶ö¿ô¤Ë´Ý¤á¤ëµ¬Â§¤Ë¤è¤Ã¤Æ m ¤Ë´Ý¤á¤é¤ì¤Þ¤¹)¡£Æ±Íͤˡ¢n ¤Î¼°¤¬ 1 + 2-k ¤Î¾ì¹ç¡¢ne ¤Ï 2-k ¤ÎÀ°¿ôÇܤǡ¢|ne| < 1/2 + 2-(k + 1) ¤Ç¤¹¡£¤³¤ì¤Ï¡¢|ne| ¡å 1/2 ¤ò°ÕÌ£¤·¤Þ¤¹¡£m ¤Ï q ¤è¤ê¤â³Î¼Â¤ËÂ礭¤¤¤¿¤á¡¢¤³¤Î¾ì¹ç m = 252 ¤Ë¤Ï¤Ê¤ê¤Þ¤»¤ó¡£¤³¤Î¤¿¤á¡¢m ¤ÈÎÙÀܤ·¤¿É½¸½²Äǽ¤Ê¿ôÃͤȤκ¹¤Ï ¡Þ 1 ¤Ç¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢|ne| ¡å 1/2 ¤Î¾ì¹ç¤â m + ne ¤Ï m ¤Ë´Ý¤á¤é¤ì¤Þ¤¹ (|ne| = 1/2 ¤Î¾ì¹ç¤Ç¤â¡¢m ¤¬¶ö¿ô¤Ç¤¢¤ë¤¿¤á ·ë¹ç¤ò¶ö¿ô¤Ë´Ý¤á¤ëµ¬Â§¤Ë¤è¤Ã¤ÆÀÑ¤Ï m ¤Ë´Ý¤á¤é¤ì¤Þ¤¹)¡£Àµ³Î¤Ë´Ý¤á¤é¤ì¤ë±é»»¤Î¾ÚÌÀ¤Ï°Ê¾å¤Ç¤¹¡£

Æó½Å¤Î´Ý¤á¤ò¹Ô¤¦±é»»¤Ç¤Ï (¼ÂºÝ¤Ë 2 Åٴݤá¤é¤ì¤¿¾ì¹ç¤Ç¤â) q ¤¬Àµ³Î¤Ë´Ý¤á¤é¤ì¤¿¾¦¤È¤Ê¤ë¤³¤È¤¬¤¢¤ë¤¿¤á¡¢¾åµ­¤ÈƱ¤¸¤¯ |e| < 1/2 ¤Ç¤¹¡£¤³¤Î¾ì¹ç¡¢q n ¤¬ 2 Åٴݤá¤é¤ì¤ë¤È¤¤¤¦»ö¼Â¤ò¹Íθ¤¹¤ë¤Ê¤é¤Ð¡¢¾åµ­ÃÊÍî¤ÎÏÀ¾Ú¤òÍøÍѤǤ­¤Þ¤¹¡£¤³¤Î¤³¤È¤òÀâÌÀ¤¹¤ë¤¿¤á¡¢³ÈÄ¥ÇÜÀºÅÙ·Á¼°¤Ï¾¯¤Ê¤¯¤È¤â 64 ¸Ä¤ÎÍ­¸ú¥Ó¥Ã¥È¤ò»ý¤Ä¤³¤È¤ò IEEE µ¬³Ê¤¬µ¬Äꤷ¤Æ¤ª¤ê¡¢¤½¤Î¤¿¤á m ¡Þ 1/2 ¤È m ¡Þ 1/4 ¤Ï³ÈÄ¥ÇÜÀºÅÙ¤ÇÀµ³Î¤Ëɽ¸½²Äǽ¤Ç¤¢¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£¤·¤¿¤¬¤Ã¤Æ¡¢n ¤Î¼°¤¬ 1/2 + 2-(k + 1) ¤Ç¤¢¤ê¡¢¤½¤Î¤¿¤á |ne| ¡å 1/4 ¤Ç¤¢¤ë¾ì¹ç¤Ë m + ne ¤ò³ÈÄ¥ÇÜÀºÅ٤˴ݤá¤ë¤È¡¢m ¤ÈºÇÂç 1/4 ¤Îº¹¤¬¤¢¤ë·ë²Ì¤¬À¸À®¤µ¤ì¤Þ¤¹¡£¾åµ­¤Ë½Ò¤Ù¤¿¤è¤¦¤Ë¡¢¤³¤ÎÃͤÏÇÜÀºÅÙ¤Ç¤Ï m ¤Ë´Ý¤á¤é¤ì¤Þ¤¹¡£Æ±Íͤˡ¢n ¤Î¼°¤¬ 1 + 2-k ¤Ç¤¢¤ê¡¢¤½¤Î¤¿¤á |ne| ¡å 1/2 ¤Ç¤¢¤ë¾ì¹ç¤Ë m + ne ¤ò³ÈÄ¥ÇÜÀºÅ٤˴ݤá¤ë¤È¡¢m ¤ÈºÇÂç 1/2 ¤Îº¹¤¬¤¢¤ë·ë²Ì¤¬À¸À®¤µ¤ì¡¢¤³¤ÎÃͤÏÇÜÀºÅÙ¤Ç¤Ï m ¤Ë´Ý¤á¤é¤ì¤Þ¤¹ (¤³¤Î¾ì¹ç m > 252 ¤Ç¤¢¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤)¡£

ºÇ¸å¤Ë¡¢Æó½Å¤Î´Ý¤á¤Î¤¿¤á¤Ë q ¤¬Àµ¤·¤¯´Ý¤á¤é¤ì¤¿¾¦¤Ç¤Ï¤Ê¤¤¾ì¹ç¤ò¹Í¤¨¤Æ¤ß¤Þ¤·¤ç¤¦¡£¤³¤Î¾ì¹ç¡¢ºÇ°­¤Î¾ì¹ç¤Ë¤Ï |e| < 1/2 + 2-(d + 1) ¤È¤Ê¤ê¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢d ¤Ï³ÈÄ¥ÇÜÀºÅÙ·Á¼°¤Ë¤ª¤±¤ë;ʬ¤Ê¥Ó¥Ã¥È¤Î¿ô¤Ç¤¹ (´û¸¤Î³ÈÄ¥¥Ù¡¼¥¹¥·¥¹¥Æ¥à¤Ï¤¹¤Ù¤Æ¡¢¤Á¤ç¤¦¤É 64 ¸Ä¤ÎÍ­¸ú¥Ó¥Ã¥È¤Ë¤è¤ë³ÈÄ¥ÇÜÀºÅÙ·Á¼°¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£¤³¤Î·Á¼°¤Ç¤Ï¡¢
d = 64 - 53 = 11)¡£Æó½Å¤Î´Ý¤á¤Ï¡¢·ë¹ç¤ò¶ö¿ô¤Ë´Ý¤á¤ëµ¬Â§¤Ë¤è¤Ã¤Æ 2 ÅÙÌܤδݤ᤬·èÄꤵ¤ì¤ë¾ì¹ç¤Ë¸Â¤êÉÔÀµ³Î¤Ê´Ý¤á·ë²Ì¤ò½Ð¤¹¤¿¤á¡¢q ¤Ï¶ö¿ô¤ÎÀ°¿ô¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¤·¤¿¤¬¤Ã¤Æ¡¢n ¤Î¼°¤¬ 1/2 + 2-(k + 1) ¤Î¾ì¹ç¡¢ne = nq - m ¤Ï 2-k ¤ÎÀ°¿ôÇܤǡ¢
|ne| < (1/2 + 2-(k + 1))(1/2 + 2-(d + 1)) = 1/4 + 2-(k + 2) + 2-(d + 2) + 2-(k + d + 2) ¤Ç¤¹¡£k ¡å d ¤Î¾ì¹ç¡¢|ne| ¡å 1/4 ¤È¤Ê¤ê¤Þ¤¹¡£k > d ¤Î¾ì¹ç¡¢|ne| ¡å 1/4 + 2-(d + 2) ¤Ç¤¹¡£¤É¤Á¤é¤Î¾ì¹ç¤â¡¢ÀѤκǽé¤Î´Ý¤á¤Ë¤è¤ê m ¤ÈºÇÂç 1/4 ¤Îº¹¤¬¤¢¤ë·ë²Ì¤¬ÇÛÉÕ¤µ¤ì¡¢Á°µ­¤ÎÏÀ¾Ú¤Ë½¾¤Ã¤Æ 2 ÅÙÌܤδݤá¤Ë¤è¤ê m ¤Ë´Ý¤á¤é¤ì¤Þ¤¹¡£Æ±Íͤˡ¢n ¤Î¼°¤¬ 1 + 2-k ¤Î¾ì¹ç¡¢ne ¤Ï
2-(k - 1) ¤ÎÀ°¿ôÇܤǡ¢|ne| < 1/2 + 2-(k + 1) + 2-(d + 1) + 2-(k + d + 1) ¤Ç¤¹¡£k ¡å d ¤Î¾ì¹ç¡¢|ne| ¡å 1/2 ¤Ç¤¹¡£k > d ¤Î¾ì¹ç¡¢|ne| ¡å 1/2 + 2-(d + 1) ¤Ç¤¹¡£¤É¤Á¤é¤Î¾ì¹ç¤â¡¢ÀѤκǽé¤Î´Ý¤á¤Ë¤è¤ê m ¤ÈºÇÂç 1/2 ¤Îº¹¤¬¤¢¤ë·ë²Ì¤¬ÇÛÉÕ¤µ¤ì¡¢Á°µ­¤Î¾ÚÌÀ¤Ë½¾¤Ã¤Æ 2 ÅÙÌܤδݤá¤Ë¤è¤ê m ¤Ë´Ý¤á¤é¤ì¤Þ¤¹¡£¢£

Á°µ­¤Î¾ÚÌÀ¤Ï¡¢¾¦¤¬Æó½Å¤Î´Ý¤á¤ò°ú¤­µ¯¤³¤¹¾ì¹ç¤Ë¤Î¤ßÀѤÏÆó½Å¤Î´Ý¤á¤ò°ú¤­µ¯¤³¤·¡¢¤½¤Î¾ì¹ç¤Ç¤âÀµ¤·¤¤·ë²Ì¤Ë´Ý¤á¤ë¤³¤È¤ò¼¨¤·¤Æ¤¤¤Þ¤¹¡£Á°µ­¤Î¾ÚÌÀ¤Ï¤Þ¤¿¡¢¿äÏÀ¤òÆó½Å¤Î´Ý¤á¤Î²ÄǽÀ­¤ò´Þ¤á¤ë¤È¤³¤í¤Þ¤Ç³ÈÄ¥¤¹¤ë¤³¤È¤Ï¡¢¤¿¤Ã¤¿ 2 ¤Ä¤ÎÉâÆ°¾®¿ôÅÀ±é»»¤·¤«´Þ¤Þ¤Ê¤¤¥×¥í¥°¥é¥à¤Ç¤âº¤Æñ¤Ç¤¢¤ë¤³¤È¤â¼¨¤·¤Æ¤¤¤Þ¤¹¡£¤â¤Ã¤ÈÊ£»¨¤Ê¥×¥í¥°¥é¥à¤Ç¤Ï¡¢Æó½Å¤Î´Ý¤á¤Î¸ú²Ì¤òÂηÏŪ¤ËÀâÌÀ¤¹¤ë¤³¤È¤ÏÄ̾ïÉÔ²Äǽ¤Ç¤¹¡£ÇÜÀºÅٱ黻¤È³ÈÄ¥ÇÜÀºÅٱ黻¤Î°ìÈÌŪ¤ÊÁȤ߹ç¤ï¤»¤Ï¸À¤¦¤Þ¤Ç¤â¤¢¤ê¤Þ¤»¤ó¡£

³ÈÄ¥ÀºÅÙ¤ËÂФ¹¤ë¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¥µ¥Ý¡¼¥È

Á°µ­¤ÎÎã¤Ï¡¢³ÈÄ¥ÀºÅÙ per se ¤¬Í­³²¤Ç¤¢¤ë¤È½Ò¤Ù¤Æ¤¤¤ë¤Î¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£¥×¥í¥°¥é¥Þ¤¬³ÈÄ¥ÀºÅÙ¤òÁªÂò¤·¤Æ»ÈÍѤǤ­¤ë¾ì¹ç¤Ë¤Ï¡¢Â¿¤¯¤Î¥×¥í¥°¥é¥à¤¬³ÈÄ¥ÀºÅ٤β¸·Ã¤òÆÀ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£»ÄÇ°¤Ê¤¬¤é¡¢¸½ºß¤Î¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤Ï³ÈÄ¥ÀºÅÙ¤ò¤¤¤Ä¤É¤Î¤è¤¦¤ÊÊýË¡¤Ç»ÈÍѤ¹¤ë¤Ù¤­¤«¥×¥í¥°¥é¥Þ¤¬»ØÄꤹ¤ë¤¿¤á¤Î½½Ê¬¤Ê¼êÃʤòÄ󶡤·¤Æ¤¤¤Þ¤»¤ó¡£¤É¤Î¤è¤¦¤Ê¥µ¥Ý¡¼¥È¤¬É¬Íפ«¤ò¼¨¤¹¤¿¤á¡¢¤³¤³¤Ç¤Ï³ÈÄ¥ÀºÅ٤λÈÍѤòÀ©¸æ¤¹¤ëÊýË¡¤ò¸¡Æ¤¤·¤Þ¤¹¡£

̾Ìܾå¤Îºî¶ÈÀºÅ٤Ȥ·¤ÆÇÜÀºÅÙ¤ò»ÈÍѤ¹¤ë°Ü¿¢À­¤Î¤¢¤ë¥×¥í¥°¥é¥à¤Ç¤Ï¡¢¤è¤ê¹­¤¤ÀºÅ٤λÈÍѤòÀ©¸æ¤¹¤ëÊýË¡¤È¤·¤Æ¼¡¤Î 5 ¤Ä¤òÍøÍѤǤ­¤Þ¤¹¡£

  1. ³ÈÄ¥¥Ù¡¼¥¹¤Î¥·¥¹¥Æ¥à¤Ç¤Ï¡¢²Äǽ¤Ê¤«¤®¤ê³ÈÄ¥ÀºÅÙ¤ò»ÈÍѤ·¤Æ¤â¤Ã¤È¤â®¤¤¥³¡¼¥É¤òÀ¸À®¤¹¤ë¤è¤¦¤Ë¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¡£¤Û¤È¤ó¤É¤Î¿ôÃÍ¥½¥Õ¥È¥¦¥§¥¢¤Ç¤Ï¡¢¡Ö¥Þ¥·¥ó¥¤¥×¥·¥í¥ó¡×¤¬ÈÏ°ÏÀßÄꤹ¤ë³Æ±é»»¤ÎÁêÂÐ¸íº¹°Ê¾å¤Î±é»»¤ÏɬÍפȤ·¤Þ¤»¤ó¡£¥á¥â¥ê¡¼Æâ¤Î¥Ç¡¼¥¿¤¬ÇÜÀºÅ٤dzÊǼ¤µ¤ì¤ë¾ì¹ç¡¢¤½¤ÎÀºÅ٤ˤª¤±¤ëºÇÂç¤ÎÁêÂдݤá¸íº¹¤È¤·¤ÆÄ̾ï¥Þ¥·¥ó¥¤¥×¥·¥í¥ó¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£¤½¤Î¤¿¤á¡¢ÆþÎϥǡ¼¥¿¤ÏÆþÎÏ»þ¤Ë´Ý¤á¤¬¤Ê¤µ¤ì¤¿¤È (Àµ¤·¤¯¤Þ¤¿¤Ï¸í¤Ã¤Æ) ÁÛÄꤵ¤ì¡¢·ë²Ì¤Ï¤½¤ì¤é¤¬³ÊǼ¤µ¤ì¤ë¤È¤­¤ËƱÍͤ˴ݤá¤é¤ì¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢³ÈÄ¥ÀºÅ٤ǤÎÃæ´Ö·ë²Ì¤Î·×»»¤Ï¤è¤êÀµ³Î¤Ê·ë²Ì¤òÀ¸À®¤¹¤ë¾ì¹ç¤â¤¢¤ê¤Þ¤¹¤¬¡¢³ÈÄ¥ÀºÅÙ¤Ïɬ¿Ü¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤³¤Î¾ì¹ç¡¢´¶ÃΤµ¤ì¤ë¤Û¤É¥×¥í¥°¥é¥à¤Î®ÅÙ¤¬Äã²¼¤·¤Ê¤¤¤È¤­¤À¤±¥³¥ó¥Ñ¥¤¥é¤Ç³ÈÄ¥ÀºÅÙ¤ò»ÈÍѤ·¡¢¤½¤ì°Ê³°¤Ç¤ÏÇÜÀºÅÙ¤ò»ÈÍѤ¹¤ë¤³¤È¤ò¤ª´«¤á¤·¤Þ¤¹¡£

  2. ŬÅ٤˹⮤ǽ½Ê¬¹­¤¤¾ì¹ç¤ÏÇÜÀºÅÙ¤è¤ê¤â¹­¤¤·Á¼°¤ò»ÈÍѤ·¡¢¤½¤ì°Ê³°¤Ç¤Ï¤Û¤«¤Î·Á¼°¤ò»ÈÍѤ¹¤ë¡£·×»»¤ÎÃæ¤Ë¤Ï¡¢³ÈÄ¥ÀºÅÙ¤¬»ÈÍѤǤ­¤ì¤Ð¤â¤Ã¤È´Êñ¤Ë¼Â¹Ô¤Ç¤­¤ë¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡£¤·¤«¤·¡¢¤½¤Î¤è¤¦¤Ê·×»»¤â¤¤¤¯¤é¤«Í¾Ê¬¤Ê¼ê´Ö¤ò¤«¤±¤ë¤À¤±¤Ç¡¢ÇÜÀºÅ٤Ǥâ¼Â¹Ô¤Ç¤­¤Þ¤¹¡£ÇÜÀºÅÙÃͤΥ٥¯¥È¥ë¤Î¥æ¡¼¥¯¥ê¥Ã¥ÉÀµµ¬·Á¤ò·×»»¤¹¤ë¤³¤È¤òÁÛÄꤷ¤Þ¤¹¡£Í×ÁǤÎÆó¾è¤ò·×»»¤·¡¢¹­¤¤»Ø¿ôÈϰϤò»ÈÍѤ·¤Æ IEEE 754 ³ÈÄ¥ÇÜÀºÅÙ·Á¼°¤Ç¤½¤ì¤é¤Î¹ç·×¤òÎßÀѤ¹¤ë¤³¤È¤Ë¤è¤ê¡¢¼ÂºÝ¤ÎŤµ¤Î¥Ù¥¯¥È¥ë¤ËÂФ¹¤ëÁá¤Þ¤Ã¤¿¥¢¥ó¥À¡¼¥Õ¥í¡¼¤Þ¤¿¤Ï¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤ò¼«ÌÀ¤ÊÊýË¡¤ÇËɤ°¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£³ÈÄ¥¥Ù¡¼¥¹¥·¥¹¥Æ¥à¤Ç¤Ï¡¢¤³¤ì¤¬Àµµ¬·Á¤ò·×»»¤¹¤ë¤â¤Ã¤È¤â®¤¤ÊýË¡¤Ç¤¹¡£
    ñÀºÅÙ / ÇÜÀºÅÙ¥·¥¹¥Æ¥à¤Ç¤Ï¡¢³ÈÄ¥ÇÜÀºÅÙ·Á¼°¤Ï¥½¥Õ¥È¥¦¥§¥¢Æâ¤Ç¥¨¥ß¥å¥ì¡¼¥È¤¹¤ëɬÍפ¬¤¢¤ê (³ÈÄ¥ÇÜÀºÅÙ·Á¼°¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¾ì¹ç)¡¢¥¢¥ó¥À¡¼¥Õ¥í¡¼¤Þ¤¿¤Ï¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤¬È¯À¸¤·¤Æ¤¤¤Ê¤¤¤«³Îǧ¤¹¤ë¤¿¤á¤ËÎã³°¥Õ¥é¥°¤ò¥Æ¥¹¥È¤·¡¢¤â¤·È¯À¸¤·¤Æ¤¤¤ë¾ì¹ç¤Ë¤ÏÌÀ¼¨Åª¤Ê¥¹¥±¡¼¥ë¤Ë¤è¤ê·×»»¤ò·«¤êÊÖ¤¹¤¿¤á¤Ë¡¢¤³¤Î¤è¤¦¤Ê¥¨¥ß¥å¥ì¡¼¥·¥ç¥ó¤Ïñ½ã¤ËÇÜÀºÅÙ¤ò»ÈÍѤ¹¤ë¤è¤ê¤âÂçÉý¤Ë®ÅÙ¤¬Äã²¼¤·¤Þ¤¹¡£³ÈÄ¥ÀºÅ٤Τ³¤Î¤è¤¦¤Ê»ÈÍѤò¥µ¥Ý¡¼¥È¤¹¤ë¤¿¤á¤Ë¡¢¸À¸ì¤Ï¡¢»ÈÍѤ¹¤ë¥á¥½¥Ã¥É¤ò¥×¥í¥°¥é¥à¤¬ÁªÂò¤Ç¤­¤ë¤è¤¦¤Ë¡¢Å¬Å٤˹⮤ÇÍøÍѤǤ­¤ëÃæ¤Ç¤â¤Ã¤È¤â¹­¤¤·Á¼°¤ò¼¨¤¹¤È¤È¤â¤Ë¡¢¤½¤Î·Á¼°¤¬½½Ê¬¹­¤¤¤³¤È (¤¿¤È¤¨¤ÐÇÜÀºÅÙ¤è¤ê¤â¹­¤¤ÈϰϤǤ¢¤ë¤³¤È) ¤ò¥×¥í¥°¥é¥à¤¬¸¡¾Ú¤Ç¤­¤ë¤è¤¦¤Ë¤½¤ì¤¾¤ì¤Î·Á¼°¤ÎÀºÅÙ¤ÈÈϰϤò¼¨¤¹´Ä¶­¥Ñ¥é¥á¡¼¥¿¤òÄ󶡤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£

  3. ¥½¥Õ¥È¥¦¥§¥¢¤Ç¥¨¥ß¥å¥ì¡¼¥È¤¹¤ëɬÍפ¬¤¢¤ë¾ì¹ç¤Ç¤â¡¢ÇÜÀºÅÙ¤è¤ê¹­¤¤·Á¼°¤ò»ÈÍѤ¹¤ë¡£¥æ¡¼¥¯¥ê¥Ã¥ÉÀµµ¬·Á¤ÎÎã¤è¤ê¤âÊ£»¨¤Ê¥×¥í¥°¥é¥à¤Ç¤Ï¡¢¥×¥í¥°¥é¥Þ¤Ï 2 ¼ïÎà¤Î¥×¥í¥°¥é¥à¤òµ­½Ò¤¹¤ëɬÍפòÈò¤±¡¢Âå¤ï¤ê¤Ë®ÅÙ¤¬ÃÙ¤¯¤Æ¤â³ÈÄ¥ÀºÅÙ¤ËÍê¤ë¤³¤È¤ò˾¤à¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¾ì¹ç¤â¸À¸ì¤Ï¡¢ÍøÍѤǤ­¤ëÃæ¤ÇºÇ¤âÈϰϤι­¤¤·Á¼°¤ÎÈϰϤÈÀºÅÙ¤ò¥×¥í¥°¥é¥à¤¬³Îǧ¤Ç¤­¤ë¤è¤¦¤Ë¡¢´Ä¶­¥Ñ¥é¥á¡¼¥¿¤òÄ󶡤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£

  4. ÇÜÀºÅÙ¤è¤ê¹­¤¤ÀºÅÙ¤ò»ÈÍѤ·¤Ê¤¤ (ÈϰϤ¬³ÈÄ¥¤µ¤ì¤ë¾ì¹ç¤¬¤¢¤ë¤¬¡¢ÇÜÀºÅÙ·Á¼°¤ÎÀºÅÙ¤ËÀµ¤·¤¯´Ý¤á¤é¤ì¤ë)¡£¾åµ­¤ÇÀâÌÀ¤·¤Æ¤¤¤ë¤¤¤¯¤Ä¤«¤ÎÎã¤Î¤è¤¦¤Ë¡¢Àµ¤·¤¯´Ý¤á¤é¤ì¤ëÇÜÀºÅٱ黻¤Ë°Í¸¤¹¤ë¤è¤¦¤Ë¤¤¤¿¤Ã¤Æ´Êñ¤Ëµ­½Ò¤µ¤ì¤ë¥×¥í¥°¥é¥à¤Î¾ì¹ç¡¢Ãæ´Ö·ë²Ì¤¬ÇÜÀºÅÙ¤è¤ê¤â¹­¤¤»Ø¿ôÈϰϤΥ쥸¥¹¥¿¤Ç·×»»¤Ç¤­¤ë¤È¤·¤Æ¤â¡¢¸À¸ì¤Ï³ÈÄ¥ÀºÅÙ¤¬»ÈÍѤµ¤ì¤Ê¤¤¤è¤¦¤Ë»Ø¼¨¤¹¤ëÊýË¡¤ò¥×¥í¥°¥é¥Þ¤ËÄ󶡤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤ÎÊýË¡¤Ç·×»»¤µ¤ì¤ëÃæ´Ö·ë²Ì¤Ç¤â¡¢¥á¥â¥ê¡¼¤Ë³ÊǼ¤µ¤ì¤ë¤È¤­¤Ë¥¢¥ó¥À¡¼¥Õ¥í¡¼¤¹¤ë¾ì¹ç¤ÏÆó½Å¤Î´Ý¤á¤ò°ú¤­µ¯¤³¤·¤Þ¤¹¡£»»½Ñ±é»»¤Î·ë²Ì¤¬½é¤á¤Ë 53 ¸Ä¤ÎÍ­¸ú¥Ó¥Ã¥È¤Ë´Ý¤á¤é¤ì¡¢ÈóÀµµ¬²½¤µ¤ì¤ëɬÍפ¬¤¢¤ë¤È¤­¤Ë°ú¤­Â³¤¤¤Æ¤è¤ê¾¯¤Ê¤¤Í­¸ú¥Ó¥Ã¥È¤ËºÆ¤Ó´Ý¤á¤é¤ì¤ë¤è¤¦¤Ê¾ì¹ç¡¢ºÇ½ª·ë²Ì¤ÏÈóÀµµ¬²½¿ô¤Ë 1 ÅÙ¤À¤±´Ý¤á¤ë¾ì¹ç¤Ë¼èÆÀ¤µ¤ì¤¿·ë²Ì¤È¤Ï°Û¤Ê¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£¤â¤Á¤í¤ó¡¢¤³¤Î¤è¤¦¤ÊÆó½Å¤Î´Ý¤á¤¬¼ÂºÝ¤Î¥×¥í¥°¥é¥à¤ËÉÔÍø¤Ê±Æ¶Á¤òÍ¿¤¨¤ë²ÄǽÀ­¤Ï¤Û¤È¤ó¤É¤¢¤ê¤Þ¤»¤ó¡£

  5. ÇÜÀºÅÙ·Á¼°¤ÎÀºÅÙ¤ÈÈϰϤÎξÊý¤ËÀµ¤·¤¯´Ý¤á¤é¤ì¤ë¡£ÇÜÀºÅ٤Τ³¤Î¤­¤Ó¤·¤¤¶¯À©¤Ï¡¢ÇÜÀºÅÙ·Á¼°¤ÎÈϰϤÈÀºÅÙ¤ÎξÊý¤Î¸ÂÅٶ᤯¤Ç¡¢¿ôÃÍ¥½¥Õ¥È¥¦¥§¥¢¤Þ¤¿¤Ï±é»»¤½¤Î¤â¤Î¤ò¥Æ¥¹¥È¤¹¤ë¥×¥í¥°¥é¥à¤ËºÇ¤âÊØÍø¤Ç¤¹¡£¤½¤Î¤è¤¦¤ÊÃí°Õ¿¼¤¤¥Æ¥¹¥È¥×¥í¥°¥é¥à¤Ï¡¢°Ü¿¢²Äǽ¤ÊÊýË¡¤Çµ­½Ò¤¹¤ë¤Î¤ÏÄ̾ﺤÆñ¤Ç¤¢¤ê¡¢ÆÃÄê¤Î·Á¼°¤Ë·ë²Ì¤ò¶¯À©Åª¤Ë´Ý¤á¤ë¤¿¤á¤Ë¥À¥ß¡¼¤Î¥µ¥Ö¥ë¡¼¥Á¥ó¤ä¤Û¤«¤Î¥È¥ê¥Ã¥¯¤ò»ÈÍѤ·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¾ì¹ç¤Ë¤Ï¤µ¤é¤ËÆñ¤·¤¯¡¢¥¨¥é¡¼¤âÀ¸¤¸¤ä¤¹¤¯¤Ê¤ê¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢³ÈÄ¥¥Ù¡¼¥¹¥·¥¹¥Æ¥à¤ò»ÈÍѤ·¤Æ¤¢¤é¤æ¤ë IEEE 754 ¼ÂÁõ¤Ë°Ü¿¢²Äǽ¤Ê¶¯¸Ç¤Ê¥½¥Õ¥È¥¦¥§¥¢¤ò³«È¯¤¹¤ë¥×¥í¥°¥é¥Þ¤Ï¡¢Ê³°¤ì¤¿Ï«ÎϤò¤«¤±¤ë¤³¤È¤Ê¤¯Ã±ÀºÅÙ / ÇÜÀºÅÙ¥·¥¹¥Æ¥à¤Î±é»»¤ò¥¨¥ß¥å¥ì¡¼¥È¤Ç¤­¤ë¤³¤È¤Î¿¿²Á¤ò¤¹¤°¤Ëǧ¤á¤ë¤è¤¦¤Ë¤Ê¤ë¤Ç¤·¤ç¤¦¡£

¤³¤ì¤é¤Î 5 ¤Ä¤Î¥ª¥×¥·¥ç¥ó¤ò¤¹¤Ù¤Æ¥µ¥Ý¡¼¥È¤¹¤ë¤è¤¦¤Ê¸À¸ì¤Ï¸½ºß¤¢¤ê¤Þ¤»¤ó¡£¼ÂºÝ¡¢³ÈÄ¥ÀºÅ٤λÈÍѤòÀ©¸æ¤Ç¤­¤ëµ¡Ç½¤ò¥×¥í¥°¥é¥Þ¤ËÄ󶡤·¤¿¸À¸ì¤Ï¤Û¤È¤ó¤É¤¢¤ê¤Þ¤»¤ó¡£¸²Ãø¤ÊÎã³°¤Î 1 ¤Ä¤Ï¡¢¸½ºßɸ½à²½¤ÎºÇ½ªÃʳ¬¤Ë¤¢¤ë C ¸À¸ì¤ÎºÇ¿·¥ê¥Ó¥¸¥ç¥ó¡¢ISO/IEC 98 99; 1999 ¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤Ç¤¢¤ë C ɸ½à ¤Ç¤¹¡£

¸½ºß¤Î C ɸ½à¤ÈƱÍÍ¡¢C99 ɸ½à ¤Ï¡¢Ä̾ï´ØÏ¢ÉÕ¤±¤é¤ì¤Æ¤¤¤ë¤è¤ê¤â¹­¤¤·Á¼°¤Ç¼°¤òɾ²Á¤¹¤ë¼ÂÁõ¤òµö²Ä¤·¤Æ¤¤¤Þ¤¹¡£¤·¤«¤· C99 ɸ½à¤Ï¡¢¼°¤òɾ²Á¤¹¤ë 3 ¤Ä¤ÎÊýË¡¤Î¤¦¤Á¤É¤ì¤« 1 ¤Ä¤ò»ÈÍѤ¹¤ë¤³¤È¤ò¿ä¾©¤·¤Æ¤¤¤Þ¤¹¡£¿ä¾©¤µ¤ì¤Æ¤¤¤ë¤³¤Î 3 ¤Ä¤ÎÊýË¡¤Î¶èÊ̤ϡ¢¼°¤¬¤è¤ê¹­¤¤·Á¼°¤Ë¡Ö³ÈÄ¥¡×¤µ¤ì¤ë¤½¤ÎÄøÅ٤ˤ¢¤ê¤Þ¤¹¡£C99 ɸ½à¤Ï¡¢¥×¥ê¥×¥í¥»¥Ã¥µ¥Þ¥¯¥í FLT_EVAL_METHOD ¤òÄêµÁ¤¹¤ë¤³¤È¤Ë¤è¤ê»ÈÍѤ¹¤ë¥á¥½¥Ã¥É¤ò¼ÂÁõ¤¬¼±Ê̤¹¤ë¤³¤È¤ò¿ä¾©¤·¤Æ¤¤¤Þ¤¹¡£FLT_EVAL_METHOD ¤¬ 0 ¤Î¾ì¹ç¡¢¤½¤ì¤¾¤ì¤Î¼°¤Ï¤½¤Î¼ïÎà¤ËÂбþ¤¹¤ë·Á¼°¤Çɾ²Á¤µ¤ì¤Þ¤¹¡£FLT_EVAL_METHOD ¤¬ 1 ¤Î¾ì¹ç¤Ï¡¢float ¤Î¼°¤Ï double ¤ËÂбþ¤¹¤ë·Á¼°¤Ë³ÈÄ¥¤µ¤ì¤Þ¤¹¡£FLT_EVAL_METHOD ¤¬ 2 ¤Î¾ì¹ç¤Ï¡¢float ¤È double ¤Ï long double ¤ËÂбþ¤¹¤ë·Á¼°¤Ë³ÈÄ¥¤µ¤ì¤Þ¤¹ (¼°¤Îɾ²ÁÊýË¡¤¬·èÄêÉÔ²Äǽ¤Ç¤¢¤ë¤³¤È¤ò¼¨¤¹¤¿¤á¡¢FLT_EVAL_METHOD ¤ò -1 ¤ËÀßÄꤹ¤ë¤³¤È¤¬¼ÂÁõ¤Ëµö²Ä¤µ¤ì¤Æ¤¤¤Þ¤¹)¡£C99 ɸ½à¤Ï¡¢<math.h> ¥Ø¥Ã¥À¡¼¥Õ¥¡¥¤¥ë¤¬·¿ float_t ¤È double_t ¤òÄêµÁ¤¹¤ë¤³¤È¤âµ¬Äꤷ¤Æ¤¤¤Þ¤¹¡£float_t ¤Ï¾¯¤Ê¤¯¤È¤â float ¤ÈƱ¤¸¹­¤µ¤Ç¤¢¤ê¡¢double_t ¤Ï¾¯¤Ê¤¯¤È¤â double ¤ÈƱ¤¸¹­¤µ¤Ç¤¹¡£¤³¤ì¤é¤Ï¡¢float ¤ª¤è¤Ó double ¤Î¼°¤Îɾ²Á¤Ë»ÈÍѤ¹¤ë·¿¤ËÄ̾ï°ìÃפ·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢FLT_EVAL_METHOD ¤¬ 2 ¤Î¾ì¹ç¡¢float_t ¤È double_t ¤Ï¤É¤Á¤é¤â long double ¤Ç¤¹¡£C99 ɸ½à¤Ï¡¢<float.h> ¥Ø¥Ã¥À¡¼¥Õ¥¡¥¤¥ë¤¬¡¢¤½¤ì¤¾¤ì¤ÎÉâÆ°¾®¿ôÅÀ¤Î·¿¤ËÂбþ¤¹¤ë·Á¼°¤ÎÈϰϤÈÀºÅÙ¤ò»ØÄꤹ¤ë¥×¥ê¥×¥í¥»¥Ã¥µ¥Þ¥¯¥í¤òÄêµÁ¤¹¤ë¤³¤È¤òµ¬Äꤷ¤Æ¤¤¤Þ¤¹¡£

C99 ɸ½à¤¬µ¬Äê¤Þ¤¿¤Ï¿ä¾©¤¹¤ëµ¡Ç½¤òÁȤ߹ç¤ï¤»¤ë¤È¡¢¾åµ­¤Ë¼¨¤·¤¿ 5 ¤Ä¤Î¥ª¥×¥·¥ç¥ó¤Î°ìÉô¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼ÂÁõ¤¬ long double ·¿¤ò³ÈÄ¥ÇÜÀºÅÙ·Á¼°¤Ë³ä¤êÅö¤Æ¡¢FLT_EVAL_METHOD ¤ò 2 ¤ÈÄêµÁ¤¹¤ë¾ì¹ç¡¢¥×¥í¥°¥é¥Þ¤Ï³ÈÄ¥ÀºÅÙ¤¬Èæ³ÓŪ¹â®¤Ç¤¢¤ê¡¢¤½¤Î¤¿¤á¥æ¡¼¥¯¥ê¥Ã¥ÉÀµµ¬·ÁÎã¤Î¤è¤¦¤Ê¥×¥í¥°¥é¥à¤Ï·¿ long double (¤Þ¤¿¤Ï double_t) ¤ÎÃæ´ÖÊÑ¿ô¤ò»ÈÍѤǤ­¤ë¤ÈÁÛÄê¤Ç¤­¤Þ¤¹¡£°ìÊý¡¢¤³¤ÎƱ¤¸¼ÂÁõ¤Ï¡¢ÌµÌ¾¤Î¼°¤ò³ÈÄ¥ÀºÅÙ¤ÇÊÝ»ý¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤Ï¡¢¤½¤ì¤é¤¬¥á¥â¥ê¡¼¤Ë³ÊǼ¤µ¤ì¤ë¾ì¹ç (¥³¥ó¥Ñ¥¤¥é¤¬ÉâÆ°¾®¿ôÅÀ¥ì¥¸¥¹¥¿¤ò¤¢¤Õ¤ì¤µ¤»¤ëɬÍפ¬¤¢¤ë¾ì¹ç¤Ê¤É) ¤Ç¤âƱÍͤǤ¹¡£¤Þ¤¿¡¢double ¤ÈÀë¸À¤µ¤ì¤¿ÊÑ¿ô¤Ë³ä¤êÅö¤Æ¤é¤ì¤¿¼°¤Î·ë²Ì¤ò³ÊǼ¤·¡¢¤½¤ì¤é¤òÇÜÀºÅÙ¤ËÊÑ´¹¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤Ï¡¢¼°¤Î·ë²Ì¤ò¥ì¥¸¥¹¥¿¤ËÊÝ»ý¤Ç¤­¤¿¾ì¹ç¤Ç¤âƱÍͤǤ¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢double ·¿¡¢double_t ·¿¤È¤â¡¢¸½ºß¤Î³ÈÄ¥¥Ù¡¼¥¹¥Ï¡¼¥É¥¦¥§¥¢¤Ç¤ÏºÇ¤â®¤¤¥³¡¼¥É¤òÀ¸À®¤¹¤ë¤è¤¦¤Ë¤Ï¥³¥ó¥Ñ¥¤¥ë¤Ç¤­¤Þ¤»¤ó¡£

¤³¤ÎÀá¤ÎÎ㤬¼¨¤·¤Æ¤¤¤ë°ìÉô (¤¹¤Ù¤Æ¤Ç¤Ï¤Ê¤¤) ¤ÎÌäÂê¤Ï¡¢C99 ɸ½à¤¬Ä󶡤¹¤ë¼êÃʤDzò·è¤Ç¤­¤Þ¤¹¡£¼° 1.0 + x ¤¬Ç¤°Õ¤Î·¿¤ÎÊÑ¿ô¤ËÂåÆþ¤µ¤ì¡¢¤½¤ÎÊÑ¿ô¤¬¾ï¤Ë»ÈÍѤµ¤ì¤ë¾ì¹ç¡¢log1p ´Ø¿ô¤Î C99 ɸ½à¥Ð¡¼¥¸¥ç¥ó¤ÏÀµ¤·¤¯Æ°ºî¤¹¤ë¤³¤È¤¬Êݾڤµ¤ì¤Æ¤¤¤Þ¤¹¡£¤·¤«¤·¡¢ÇÜÀºÅÙ¿ô¤ò¾å°Ì¤È²¼°Ì¤ÎÉôʬ¤Ëʬ³ä¤¹¤ë¤¿¤á¤Î°Ü¿¢À­¤Î¤¢¤ë¸úΨŪ¤Ê C99 ɸ½à¥×¥í¥°¥é¥à¤Ï¡¢Èæ³ÓŪº¤Æñ¤Ç¤¹¡£double ¤Î¼°¤¬ÇÜÀºÅÙ¤ËÀµ¤·¤¯´Ý¤á¤é¤ì¤ë¤³¤È¤¬ÊݾڤǤ­¤Ê¤¤¾ì¹ç¡¢¤É¤¦¤¹¤ì¤ÐÀµ³Î¤Ê°ÌÃÖ¤Çʬ³ä¤·¡¢Æó½Å¤Î´Ý¤á¤òÈò¤±¤ë¤³¤È¤¬¤Ç¤­¤ë¤Ç¤·¤ç¤¦¤«¡£1 ¤Ä¤Î²ò·èË¡¤È¤·¤Æ¡¢double_t ·¿¤ò»ÈÍѤ¹¤ì¤Ð¡¢Ã±ÀºÅÙ / ÇÜÀºÅÙ¥·¥¹¥Æ¥à¤Ç¤ÏÇÜÀºÅÙ¤Ëʬ³ä¤·¡¢³ÈÄ¥¥Ù¡¼¥¹¥·¥¹¥Æ¥à¤Ç¤Ï³ÈÄ¥ÀºÅÙ¤Ëʬ³ä¤Ç¤­¤Þ¤¹¡£¤³¤ì¤Ç¡¢¤É¤Á¤é¤Î¾ì¹ç¤â±é»»¤ÏÀµ¤·¤¯´Ý¤á¤é¤ì¤Þ¤¹¡£ÄêÍý 14 ¤Ï¡¢´ðÁäȤʤë±é»»¤ÎÀºÅÙ¤¬¤ï¤«¤ì¤Ð¤É¤Î¥Ó¥Ã¥È°ÌÃ֤ˤª¤¤¤Æ¤âʬ³ä¤¬²Äǽ¤Ç¤¢¤ë¤È¤·¤Æ¤¤¤Þ¤¹¡£¤³¤Î¾ðÊó¤Ï¡¢FLT_EVAL_METHOD ¤È´Ä¶­¥Ñ¥é¥á¡¼¥¿¥Þ¥¯¥í¤Ç¼èÆÀ¤Ç¤­¤Þ¤¹¡£¼¡¤Î¥Õ¥é¥°¥á¥ó¥È¤Ï¡¢²Äǽ¤Ê¼ÂÁõÎã¤ò¼¨¤·¤Æ¤¤¤Þ¤¹¡£

#include <math.h>
#include <float.h>

 
#if (FLT_EVAL_METHOD==2)
#define PWR2  LDBL_MANT_DIG - (DBL_MANT_DIG/2)
#elif ((FLT_EVAL_METHOD==1) || (FLT_EVAL_METHOD==0))
#define PWR2  DBL_MANT_DIG - (DBL_MANT_DIG/2)
#else
#error FLT_EVAL_METHOD unknown!
#endif

 
...
    double   x, xh, xl;
    double_t m;

 
    m = scalbn(1.0, PWR2) + 1.0;  // 2**PWR2 + 1
    xh = (m * x) - ((m * x) - x);
    xl = x - xh;

ÅöÁ³¤³¤Î¥½¥ê¥å¡¼¥·¥ç¥ó¤ò¸«¤Ä¤±¤ë¤Ë¤Ï¡¢¥×¥í¥°¥é¥Þ¤Ï¡¢double ¤Î¼°¤Ï³ÈÄ¥ÀºÅÙ¤Çɾ²Á¤µ¤ì¤ë¤³¤È¤¬¤¢¤ë¤³¤È¡¢Æó½Å¤Î´Ý¤á¤ÎÌäÂ꤬·Ñ³¤¹¤ë¤È¥¢¥ë¥´¥ê¥º¥à¤Î¸íÆ°ºî¤ò°ú¤­µ¯¤³¤¹¤³¤È¤¬¤¢¤ë¤³¤È¡¢¤ª¤è¤ÓÄêÍý 14 ¤Ë½¾¤Ã¤Æ³ÈÄ¥ÀºÅÙ¤òÂåÍѤǤ­¤ë¤³¤È¤òǧ¼±¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤â¤Ã¤ÈÌÀÎƤʥ½¥ê¥å¡¼¥·¥ç¥ó¤È¤·¤Æ¡¢¤½¤ì¤¾¤ì¤Î¼°¤¬ÇÜÀºÅÙ¤ËÀµ¤·¤¯´Ý¤á¤é¤ì¤ë¤è¤¦¤Ë»ØÄꤹ¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£³ÈÄ¥¥Ù¡¼¥¹¥·¥¹¥Æ¥à¤Ç¤Ï´Ý¤áÀºÅ٥⡼¥É¤òÊѹ¹¤¹¤ì¤Ð¤¹¤ß¤Þ¤¹¤¬¡¢»ÄÇ°¤Ê¤¬¤é C99 ɸ½à ¤Ï¤³¤ì¤ò¼Â»Ü¤¹¤ë²ÄÈÂÀ­¤Î¤¢¤ëÊýË¡¤òÄ󶡤·¤Æ¤¤¤Þ¤»¤ó¡£ÉâÆ°¾®¿ôÅÀ¤ò¥µ¥Ý¡¼¥È¤¹¤ë¤¿¤á¤Ë C ɸ½à¤Ë²Ã¤¨¤ëÊѹ¹¤ò»ØÄꤷ¤¿ºî¶Èʸ½ñ¡¢Floating-Point C Edit ¤Î½é´ü¤ÎÁð°Æ¤Ï¡¢´Ý¤áÀºÅ٥⡼¥É¤òÈ÷¤¨¤¿¥·¥¹¥Æ¥à¤Ë¤ª¤±¤ë¼ÂÁõ¤Ç¡¢´Ý¤áÀºÅ٤μèÆÀ¤ÈÀßÄê¤ò¹Ô¤¦ fegetprec ¤ª¤è¤Ó fesetprec ´Ø¿ô (´Ý¤áÊý¸þ¤Î¼èÆÀ¤ÈÀßÄê¤ò¹Ô¤¦ fegetround ¤ª¤è¤Ó fesetround ´Ø¿ô¤ËÎà»÷¤·¤¿¤â¤Î) ¤òÄ󶡤¹¤ë¤³¤È¤ò¿ä¾©¤·¤Æ¤¤¤Þ¤·¤¿¡£¤³¤Î¿ä¾©¤Ï¡¢C99 ɸ½àÁð°Æ¤ËÊѹ¹¤¬²Ã¤¨¤é¤ì¤ëÁ°¤Ë½ü¤«¤ì¤Þ¤·¤¿¡£

¤Þ¤¿¡¢°Û¤Ê¤ëÀ°¿ô±é»»µ¡Ç½¤ò»ý¤Ä³Æ¼ï¤Î¥·¥¹¥Æ¥à´Ö¤Î°Ü¿¢À­¤ò¥µ¥Ý¡¼¥È¤¹¤ëC99 ɸ½à¤Î¥¢¥×¥í¡¼¥Á¤Ï¡¢°Û¤Ê¤ëÉâÆ°¾®¿ôÅÀ¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤ò¥µ¥Ý¡¼¥È¤¹¤ë¤è¤êÍ¥¤ì¤¿ÊýË¡¤òÄ󼨤·¤Æ¤¤¤Þ¤¹¡£¤½¤ì¤¾¤ì¤Î C99 ɸ½à¼ÂÁõ¤Ï¡¢¤½¤Î¼ÂÁõ¤¬¥µ¥Ý¡¼¥È¤¹¤ëÀ°¿ô·¿¤òÄêµÁ¤¹¤ë <inttypes.h> ¥Ø¥Ã¥À¡¼¥Õ¥¡¥¤¥ë¤ò¶¡µë¤·¤Æ¤¤¤Þ¤¹¡£¤³¤ÎÀ°¿ô·¿¤Î̾Á°¤Ï¡¢¤½¤ì¤é¤Î¥µ¥¤¥º¤È¸úΨ¤Ë½¾¤Ã¤ÆÉÕ¤±¤é¤ì¤Æ¤¤¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢int32_t ¤Ï¤Á¤ç¤¦¤É 32 ¥Ó¥Ã¥È¤ÎÉý¤ÎÀ°¿ô·¿¡¢int_fast16_t ¤Ï¤½¤Î¼ÂÁõ¤ÇºÇ¤â®¤¤ºÇÄã 16 ¥Ó¥Ã¥ÈÉý¤ÎÀ°¿ô·¿¡¢intmax_t ¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ëÃæ¤ÇºÇ¤â¹­¤¤À°¿ô·¿¤Ç¤¹¡£ÉâÆ°¾®¿ôÅÀ¤Î·¿¤Ë¤Ä¤¤¤Æ¤â¡¢Îà»÷¤·¤¿ÂηϤòÁÛÁü¤Ç¤­¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢float53_t ¤Ï¤Á¤ç¤¦¤É 53 ¥Ó¥Ã¥È¤ÎÀºÅ٤Ǥ¢¤ë¤¬ÈϰϤ¬¤³¤ì¤òĶ¤¨¤ë¤³¤È¤â¤¢¤ëÉâÆ°¾®¿ôÅÀ¡¢float_fast24_t ¤ÏÀºÅÙ¤¬ºÇÄã 24 ¥Ó¥Ã¥È¤Ç¤¢¤ë¤½¤Î¼ÂÁõ¤ÎºÇ¤â¹â®¤Ê·¿¡¢floatmax_t ¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ëÃæ¤ÇºÇ¤â¹­¤¤Å¬Å٤˹⮤ʷ¿¤Î̾Á°¤È¤·¤Æ»ÈÍѤǤ­¤Þ¤¹¡£¹â®¤Ê·¿¤ò»ÈÍѤ¹¤ë¤È¡¢¥ì¥¸¥¹¥¿¤¬¤¢¤Õ¤ì¤¿·ë²Ì¤È¤·¤Æ̾Á°ÉÕ¤­ÊÑ¿ô¤ÎÃͤ¬Êѹ¹¤µ¤ì¤Æ¤Ï¤Ê¤é¤Ê¤¤¤È¤¤¤¦À©¸Â¤¬¤¢¤ê¤Þ¤¹¤¬¡¢³ÈÄ¥¥Ù¡¼¥¹¥·¥¹¥Æ¥à¾å¤Î¥³¥ó¥Ñ¥¤¥é¤Ï²Äǽ¤Ê¤«¤®¤êºÇ¤â®¤¤¥³¡¼¥É¤òÀ¸À®¤Ç¤­¤Þ¤¹¡£Éý¤¬¤Á¤ç¤¦¤É¤Î·¿¤¬»ÈÍѤµ¤ì¤ë¤È³ÈÄ¥¥Ù¡¼¥¹¥·¥¹¥Æ¥à¤Î¥³¥ó¥Ñ¥¤¥é¤Ï¡¢¾åµ­¤ÈƱ¤¸À©¸Â¤ò¾ò·ï¤È¤·¤Æ¡¢´Ý¤áÀºÅ٥⡼¥É¤¬»ØÄꤵ¤ì¤¿ÀºÅ٤˴ݤá¤ë¤è¤¦¤ËÀßÄꤷ¡¢¤è¤ê¹­¤¤ÈϰϤòµö²Ä¤·¤Þ¤¹¡£double_t ¤Ï¡¢Àµ³Î¤ÊÇÜÀºÅÙɾ²Á¤ò¾ò·ï¤Ë¡¢IEEE 754 ¤ÎÇÜÀºÅÙ·Á¼°¤ÎÀºÅÙ¤ÈÈϰϤÎξÊý¤ò»ý¤Ä·¿¤Î̾Á°¤È¤·¤Æ»ÈÍѤǤ­¤Þ¤¹¡£¤³¤Î¤è¤¦¤ÊÂηϤò¤·¤«¤ë¤Ù¤­Ì¾Á°¤ÎÉÕ¤¤¤¿´Ä¶­¥Ñ¥é¥á¡¼¥¿¥Þ¥¯¥í¤È¤È¤â¤Ë»ÈÍѤ¹¤ë¤È¡¢Á°½Ò¤·¤¿ 5 ¤Ä¤Î¥ª¥×¥·¥ç¥ó¤ò´Êñ¤Ë¥µ¥Ý¡¼¥È¤Ç¤­¡¢¥×¥í¥°¥é¥Þ¤Ï¥×¥í¥°¥é¥à¤¬É¬ÍפȤ¹¤ëÉâÆ°¾®¿ôÅÀ°ÕÌ£ÏÀ¤ò´Êñ¤Ë¤«¤ÄÌÀÇò¤Ê·Á¤Ç»ØÄê¤Ç¤­¤Þ¤¹¡£

³ÈÄ¥ÀºÅ٤θÀ¸ì¥µ¥Ý¡¼¥È¤Ï¤½¤ì¤Û¤ÉÊ£»¨¤Ê¤Î¤Ç¤·¤ç¤¦¤«¡£Ã±ÀºÅÙ / ÇÜÀºÅÙ¥·¥¹¥Æ¥à¤Ç¤Ï¡¢¾åµ­¤Î 5 ¤Ä¤Î¥ª¥×¥·¥ç¥óÃæ 4 ¤Ä¤¬Åö¤Æ¤Ï¤Þ¤ê¡¢¹â®¤Ê·¿¤ÈÀµ³Î¤ÊÈϰϤη¿¤ò¶èÊ̤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£¤·¤«¤·³ÈÄ¥¥Ù¡¼¥¹¥·¥¹¥Æ¥à¤Ç¤Ï¡¢Æñ¤·¤¤ÁªÂò¤Ë¤»¤Þ¤é¤ì¤Þ¤¹¡£³ÈÄ¥¥Ù¡¼¥¹¥·¥¹¥Æ¥à¤Ï¡¢½ã¿è¤ÊÇÜÀºÅٱ黻¡¢½ã¿è¤Ê³ÈÄ¥ÀºÅٱ黻¤Î¤É¤Á¤é¤â¡¢¤³¤ì¤é¤ÎÁȤ߹ç¤ï¤»¤Î¾ì¹ç¤ÈƱ¤¸¸úΨ¤Ç¤Ï¥µ¥Ý¡¼¥È¤»¤º¡¢¥×¥í¥°¥é¥à¤Ë¤è¤Ã¤Æ°Û¤Ê¤ëÁȤ߹ç¤ï¤»¤òÍ׵ᤷ¤Þ¤¹¡£¤Þ¤¿¡¢¤¤¤Ä³ÈÄ¥ÀºÅÙ¤ò»ÈÍѤ¹¤ë¤«¤È¤¤¤¦ÁªÂò¤Ï¡¢ÉâÆ°¾®¿ôÅÀ±é»»¤Ï¡ÖËÜÍèÉÔÀµ³Î¡×¤Ç¤¢¤ê¡¢¤·¤¿¤¬¤Ã¤ÆÀ°¿ô±é»»¤Ë¤Õ¤µ¤ï¤·¤¯¤Ê¤¯¡¢¤½¤Îͽ¬ÎϤâ¤Ê¤¤¤È¥Ù¥ó¥Á¥Þ¡¼¥¯¤«¤é¸«¤Ê¤¹·¹¸þ¤¬¤¢¤ë (»þ¤Ë¤Ï¿ôÃÍ¥¢¥Ê¥ê¥¹¥È¤Ë¤è¤Ã¤Æ¤³¤Î¤è¤¦¤Ë¸øÁ³¤È¸ì¤é¤ì¤ë¤³¤È¤â¤¢¤ê¤Þ¤¹) ¥³¥ó¥Ñ¥¤¥é¥é¥¤¥¿¡¼¤ËǤ¤»¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£¤³¤ÎÁªÂò¤Ï¥×¥í¥°¥é¥Þ¤Ë¤æ¤À¤Í¤ë¤Ù¤­¤Ç¤¹¡£¥×¥í¥°¥é¥Þ¤Ï¡¢Èà¤é¤ÎÁªÂò¤ò½½Ê¬É½¸½¤Ç¤­¤ë¸À¸ì¤òɬÍפȤ·¤Þ¤¹¡£

·ëÏÀ

Á°½Ò¤ÎÏÀɾ¤Ï¡¢³ÈÄ¥¥Ù¡¼¥¹¥·¥¹¥Æ¥à¤òÈóÆñ¤¹¤ë¤³¤È¤¬¤Í¤é¤¤¤Ç¤Ï¤Ê¤¯¡¢¤½¤Î°Õ¿Þ¤Ï¤¤¤¯¤Ä¤«¤Î¸í¤Ã¤¿µÄÏÀ (¤½¤ÎºÇ¤¿¤ë¤â¤Î¤Ï¡¢¤¹¤Ù¤Æ¤Î IEEE 754 ¥·¥¹¥Æ¥à¤ÏƱ°ì¥×¥í¥°¥é¥à¤ËÂФ·¤Þ¤Ã¤¿¤¯Æ±¤¸·ë²Ì¤ò½Ð¤µ¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤È¤¤¤¦¤â¤Î) ¤òÌÀ¤é¤«¤Ë¤¹¤ë¤³¤È¤Ë¤¢¤ê¤Þ¤¹¡£¤³¤ì¤Þ¤Ç³ÈÄ¥¥Ù¡¼¥¹¥·¥¹¥Æ¥à¤ÈñÀºÅÙ / ÇÜÀºÅÙ¥·¥¹¥Æ¥à´Ö¤Î°ã¤¤¤Ë¾ÇÅÀ¤òÅö¤Æ¤Æ¤­¤Þ¤·¤¿¤¬¡¢¤½¤ì¤¾¤ì¤Î¥°¥ë¡¼¥×¤Ë¤ª¤±¤ë³Æ¼ï¤Î¥·¥¹¥Æ¥à´Ö¤Ë¤Ï¤µ¤é¤ËÁê°ã¤¬¤¢¤ê¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢Ã±ÀºÅÙ / ÇÜÀºÅÙ¥·¥¹¥Æ¥à¤ÎÃæ¤Ë¤Ï¡¢2 ¤Ä¤Î¿ô¤ò³Ý¤±¤Æ 3 ¤Ä¤á¤Î¿ô¤ò­¤¹Ã±°ì¤ÎÌ¿Îá¤Ç¡¢ºÇ¸å¤Î 1 ¤Ä¤Î´Ý¤á¤·¤«¹Ô¤ï¤Ê¤¤¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡£¡Ö¾è»»/²Ã»»¤Îº®¹ç±é»»¡×¤È¸Æ¤Ð¤ì¤ë¤³¤Î±é»»¤Ç¤Ï¡¢¥×¥í¥°¥é¥à¤ÏñÀºÅÙ / ÇÜÀºÅÙ¥·¥¹¥Æ¥à¤´¤È¤Ë°Û¤Ê¤ë·ë²Ì¤òÀ¸À®¤·¤Þ¤¹¡£¤³¤Î±é»»¤Ç¤Ï¡¢³ÈÄ¥ÀºÅ٤Τ褦¤Ë¡¢¥×¥í¥°¥é¥à¤¬»ÈÍѤµ¤ì¤ë¤«¤É¤¦¤«¡¢¤½¤·¤Æ¤¤¤Ä»ÈÍѤµ¤ì¤ë¤«¤Ë¤è¤Ã¤Æ¡¢Æ±¤¸¥·¥¹¥Æ¥à¾å¤Ç¤âƱ¤¸¥×¥í¥°¥é¥à¤¬°Û¤Ê¤ë·ë²Ì¤òÀ¸À®¤¹¤ë¾ì¹ç¤â¤¢¤ê¤Þ¤¹ (¡Ö¾è»»/²Ã»»¤Îº®¹ç±é»»¡×¤Ï¡¢Ê¬³ä¤»¤º¤Ë¿½ÅÀºÅ٤ξ軻¤ò¼Â¹Ô¤¹¤ë¤¿¤á¤ËÈó²ÄÈÂŪ¤ÊÊýË¡¤Ç»ÈÍѤǤ­¤Þ¤¹¤¬¡¢ÄêÍý 6 ¤Îʬ³ä¥×¥í¥»¥¹¤É¤ª¤ê¤Ë¤Ê¤é¤Ê¤¤¾ì¹ç¤¬¤¢¤ê¤Þ¤¹)¡£IEEE µ¬³Ê¤¬²¾¤Ë¤³¤Î¤è¤¦¤Ê±é»»¤òͽÁÛ¤·¤Ê¤«¤Ã¤¿¤È¤·¤Æ¤â¡¢Ãæ´Ö¤ÎÀѤϥ桼¥¶¡¼À©¸æ¤¬µÚ¤Ð¤Ê¤¤Àµ³Î¤ËÊÝ»ý¤¹¤ë¤À¤±¤Î¹­¤µ¤ò»ý¤Ã¤¿¡Ö°¸Àè¡×¤ËÇÛÉÛ¤µ¤ì¡¢ºÇ½ª¤Î¹ç·×¤Ï¤½¤ÎñÀºÅÙ¤Þ¤¿¤ÏÇÜÀºÅ٤ΰ¸Àè¤Î¥µ¥¤¥º¤Ë¹ç¤¦¤è¤¦¤ËÀµ¤·¤¯´Ý¤á¤é¤ì¤Þ¤¹¡£

IEEE 754 ¤Ï°ìÄê¤Î¥×¥í¥°¥é¥à¤¬ÇÛÉÛ¤¹¤Ù¤­·ë²Ì¤òÀµ³Î¤Ëµ¬Äꤷ¤Æ¤¤¤ë¤È¤¤¤¦¹Í¤¨¤Ï¡¢¤ä¤Ï¤êÌ¥ÎÏŪ¤Ç¤¹¡£Â¿¤¯¤Î¥×¥í¥°¥é¥Þ¤Ï¡¢¥×¥í¥°¥é¥à¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¥³¥ó¥Ñ¥¤¥é¤ä¥×¥í¥°¥é¥à¤ò¼Â¹Ô¤¹¤ë¥³¥ó¥Ô¥å¡¼¥¿¤Ë¤«¤«¤ï¤ê¤Ê¤¯¥×¥í¥°¥é¥à¤ÎÆ°ºî¤òÍý²ò¤Ç¤­¡¢¥×¥í¥°¥é¥à¤¬Àµ¤·¤¯Æ°ºî¤¹¤ë¤³¤È¤ò¾ÚÌÀ¤Ç¤­¤ë¤È¿®¤¸¤¿¤¬¤ê¤Þ¤¹¡£¤³¤Î³Î¿®¤ò¥µ¥Ý¡¼¥È¤¹¤ë¤³¤È¤Ï¡¢¥³¥ó¥Ô¥å¡¼¥¿¥·¥¹¥Æ¥à¤ä¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤ÎÀ߷׼ԤˤȤäÆÂ礤¤Ë²ÁÃͤΤ¢¤ëÌÜɸ¤Ç¤¹¡£»ÄÇ°¤Ê¤¬¤é¡¢ÉâÆ°¾®¿ôÅÀ±é»»¤Ë´Ø¤·¤Æ¤Ï¡¢¤³¤ÎÌÜɸ¤Ï¼ÂºÝ¡¢Ã£À®¤¬ÉÔ²Äǽ¤Ç¤¹¡£IEEE µ¬³Ê¤Î¼¹É®¼Ô¤Ï¤³¤ì¤òǧ¼±¤·¤Æ¤ª¤ê¡¢¤³¤ÎãÀ®¤ò»î¤ß¤Æ¤Ï¤¤¤Þ¤»¤ó¡£¤½¤Î·ë²Ì¡¢¥³¥ó¥Ô¥å¡¼¥¿¶È³¦¤Î¤Û¤ÜÁ´ÂΤ¬¤Û¤È¤ó¤É¤Î IEEE 754 ɸ½à¤Ë½àµò¤·¤Æ¤¤¤ë¤Ë¤â¤«¤«¤ï¤é¤º¡¢°Ü¿¢À­¤Î¤¢¤ë¥½¥Õ¥È¥¦¥§¥¢¤Î³«È¯¤ò¼ê³Ý¤±¤ë¥×¥í¥°¥é¥Þ¤Ï¡¢Í½Â¬ÉÔ²Äǽ¤ÊÉâÆ°¾®¿ôÅÀ±é»»¤Ë¼è¤êÁȤß³¤±¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£

¥×¥í¥°¥é¥Þ¤¬ IEEE 754 ¤ÎÆÃħ¤òÍøÍѤ¹¤ë¤Î¤Ç¤¢¤ì¤Ð¡¢ÉâÆ°¾®¿ôÅÀ±é»»¤òͽÁÛ²Äǽ¤Ê¤â¤Î¤Ë¤Ç¤­¤ë¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤¬É¬ÍפǤ¹¡£C99 ɸ½à¤Ç¤Ï¡¢FLT_EVAL_METHOD ¤´¤È¤Ë¥×¥í¥°¥é¥à¤òÊ£¿ôºîÀ®¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¤¬¡¢´öʬͽ¬À­¤¬¸þ¾å¤·¤Æ¤¤¤Þ¤¹¡£¾­Íè¤Î¸À¸ì¤Ç¤Ï IEEE 754 °ÕÌ£ÏÀ¤Ë°Í¸¤¹¤ëÈϰϤòÌÀÇò¤Ë¼¨¤¹¹½Ê¸¤Ë¤è¤ê¡¢Ã±°ì¤Î¥×¥í¥°¥é¥à¤òµ­½Ò¤¹¤ì¤Ð¤¹¤à¤«¤É¤¦¤«¤Ï¤Þ¤ÀÌÀ¤é¤«¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£´û¸¤Î³ÈÄ¥¥Ù¡¼¥¹¥·¥¹¥Æ¥à¤Ï¡¢±é»»¤¬°ìÄê¤Î¥·¥¹¥Æ¥à¤Ç¤É¤Î¤è¤¦¤Ë¹Ô¤ï¤ì¤ë¤Ù¤­¤«¤Ï¥×¥í¥°¥é¥Þ¤è¤ê¤â¥³¥ó¥Ñ¥¤¥é¤È¥Ï¡¼¥É¥¦¥§¥¢¤ÎÊý¤¬¤è¤¯Ç§¼±¤Ç¤­¤ë¤È»ä¤¿¤Á¤Ë·è¤á¹þ¤Þ¤»¤ë¤³¤È¤Ë¤è¤ê¡¢¤³¤Î¸«Ä̤·¤ò¶¼¤«¤·¤Æ¤¤¤Þ¤¹¡£¤³¤Î·è¤á¹þ¤ß¤Ï 2 ¤ÄÌÜ¤Î¸í¿®¤Ç¤¹¡£·×»»·ë²Ì¤Ëµá¤á¤é¤ì¤ëÀµ³ÎÅ٤ϡ¢·ë²Ì¤òÀ¸À®¤¹¤ë¥Þ¥·¥ó¤Ç¤Ï¤Ê¤¯¡¢·ë²Ì¤«¤é°ú¤­½Ð¤µ¤ì¤ë·ëÏÀ¤Ë¤è¤Ã¤Æ¤Î¤ß·è¤Þ¤ê¤Þ¤¹¡£¤½¤ì¤é¤Î·ëÏÀ¤¬²¿¤«¤òÇÄ°®¤Ç¤­¤ë¤Î¤Ï¡¢¥×¥í¥°¥é¥Þ¡¢¥³¥ó¥Ñ¥¤¥é¡¢¥Ï¡¼¥É¥¦¥§¥¢¤Î¤¦¤Á¤»¤¤¤¼¤¤¥×¥í¥°¥é¥Þ¤À¤±¤Ç¤¹¡£

1 ¤³¤ì°Ê³°¤Îɽ¸½¤È¤·¤Æ¡¢ÉâÆ°¾®¿ôÅÀ¥¹¥é¥Ã¥·¥å¡¢¤ª¤è¤ÓÉä¹æÉÕ¤­Âпô¤¬¤¢¤ê¤Þ¤¹ (Matula/Kornerup 1985¡¢Swartzlander/Alexopoulos 1975 )¡£

2 ¤³¤ÎÍѸì¤Ï¡¢Forsythe/Moler ¤¬ 1967 ǯ¡¢¤½¤ì¤Þ¤Ç¤Î²¾¿ô¤ËÃÖ¤­´¹¤ï¤ëɽ¸½¤È¤·¤ÆºÎÍѤ·¤¿¤â¤Î¤Ç¤¹¡£

3 ¤³¤³¤Ç¤Ï¡¢»Ø¿ô¤ÏÍ­°Õ·å¤Î¾å°Ì¤Ë³ÊǼ¤¹¤ë¤³¤È¤òÁ°Äó¤È¤·¤Þ¤¹¡£

4 z ¤ÎÃͤ¬ ¦Âemax+1 ¤òĶ¤¨¤Ê¤¤¾ì¹ç¡¢¤¢¤ë¤¤¤Ï ¦Âemin ¤ËËþ¤¿¤Ê¤¤¾ì¹ç¤ò½ü¤­¤Þ¤¹¡£¤³¤ÎÈϰϤòĶ¤¨¤ë¿ô¤Ë¤Ä¤¤¤Æ¤Ï¡¢¤³¤³¤Ç¤Ï°·¤¤¤Þ¤»¤ó¡£

5 z' ¤Ï¡¢z ¤Ë¶á»÷¤¹¤ëÉâÆ°¾®¿ôÅÀ¿ô¤È¤·¤Þ¤¹¡£|d.d...d - (z/¦Âe) |¦Âp-1 ¤Ï |z'-z|/ulp(z') ¤ËÅù¤·¤¯¤Ê¤ê¤Þ¤¹ ¡£¸íº¹¤ò¬Äꤹ¤ë¤µ¤é¤ËÀµ³Î¤Ê¸ø¼°¤Ï |z'-z|/ulp(z) ¤Ç¤¹¡£--Ed

6 70 ¤Ç¤Ï¤Ê¤¯ 700 ¤Ç¤¹¡£0.1 - 0.0292 = 0.0708 ¤Ê¤Î¤Ç¡¢ulp (0.0292 ) ¤Î¸íº¹¤Ï 708 ulp ¤È¤Ê¤ê¤Þ¤¹¡£- Ed

7 (x - y)(x + y) ¤Î¼°¤Ç¤Ï°­À­¤ÎÁ껦¤Ïµ¯¤­¤Ê¤¤¤â¤Î¤Î ¤Þ¤¿¤Ï ¤Î¾ì¹ç¤Ï x2 - y2 ¤è¤ê¤â¤ï¤º¤«¤ËÀºÅÙ¤¬Íî¤Á¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢x2 - y2 ¤Î¾®¤µ¤¤Êý¤ò·×»»¤¹¤ë¤È¤­¤Ëµ¯¤­¤ë´Ý¤á¸íº¹¤¬¡¢ºÇ½ªÅª¤Ê¸º»»¤Ë±Æ¶Á¤òÍ¿¤¨¤ë¤³¤È¤Ï¤Ê¤¤¤Î¤Ç¡¢ (x - y)(x + y) ¤Î´Ý¤á¸íº¹¤Ï 3¡¢¤Þ¤¿ x2 - y2 ¤Î´Ý¤á¸íº¹¤Ï 2 ¤Ë¤Ê¤ê¤Þ¤¹¡£

8 ¡ÖÀµ³Î¤Ê´Ý¤áÁàºî¡×¤Ï±Ñʸ¤Ç¸À¤¦ "exactly rounded operation" ¤Þ¤¿¤Ï "correctly rounded operation" ¤Î¤³¤È¤Ç¤¹¡£

9 n = 845 ¤Î¾ì¹çm¡¢xn = 9.45¡¢xn + 0.555 = 10.0¡¢10,0 - 0.555 = 9.45 ¤È¤Ê¤ê¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢n > 845 ¤Ë¤Ä¤¤¤Æ¤Ï xn = x845 ¤È¤Ê¤ê¤Þ¤¹¡£

10 ¿Ê¿ô¤Î¾ì¹ç¡¢q ¤Ï ¤ËÅù¤·¤¯¤¢¤ê¤Þ¤»¤ó¡£-Ed

11 2 °Ê³°¤Î´ð¿ô¤Ë¤Ä¤¤¤Æ¤âÆɼԼ«¿È¤Ç³Îǧ¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£- Ed

12 ¤³¤ì¤Ï¡¢Knuth (1981¡¢211¥Ú¡¼¥¸) ¤Ë¤è¤ë¤È Konrad Zuse ¤Ë¹Í°Æ¤µ¤ì¤¿¤È¤µ¤ì¤Æ¤¤¤Þ¤¹¤¬¡¢Goldberg (1967) ¤Ë¤è¤Ã¤ÆºÇ½é¤Ëȯɽ¤µ¤ì¤¿¤è¤¦¤Ç¤¹¡£

13 Kahan ¤Ë¤è¤ë¤È¡¢³ÈÄ¥ÀºÅÙ¤Ë¤Ï 64 ¥Ó¥Ã¥È¤ÎÍ­°Õ·å¤¬³ÎÊݤµ¤ì¤Þ¤¹¡£¤³¤ì¤Ï¡¢¥µ¥¤¥¯¥ë»þ´Ö¤ò¾å¤²¤º¤Ë¡¢Intel 8087 ¾å¤Ç¥­¥ã¥ê¡¼¤òÅÁÇŤǤ­¤ëºÇ¤âÉý¹­¤¤ÀºÅ٤Ǥ¢¤ë¤«¤é¤Ç¤¹¡£

14 Kahan¡¢¤ª¤è¤Ó LeBlanc (1985 ) ¤¬Äó°Æ¤·¤¿´ðËܱ黻¤Î 1 ¤Ä¤È¤·¤ÆÆâÀѤò²Ã¤¨¤ë¤³¤È¤Ë¤ÏÈ¿ÏÀ¤â¸«¤é¤ì¤Þ¤¹¡£

15 Kirchner ¤Ï¼¡¤Î¤è¤¦¤Ë»ØŦ¤·¤Æ¤¤¤Þ¤¹¡£¡Ö1 ¥¯¥í¥Ã¥¯¡¦¥µ¥¤¥¯¥ë¤¢¤¿¤ê 1 ¤Ä¤ÎÉôʬÀѤº¤Ä¡¢1 ulp °ÊÆâ¤Î¸íº¹¤Ë¤è¤ê¥Ï¡¼¥É¥¦¥§¥¢¾å¤ÇÆâÀѤò·×»»¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£¡×
16 CORDIC ¤È¤Ï¡¢"Coordinate Rotation Digital Computer"¤ÎƬ»ú¸ì¤Ç¡¢¤³¤ì¤Ë¤è¤ê¡¢¤Û¤È¤ó¤É¤Î½èÍý¤¬¥·¥Õ¥È¤ä²Ã»»¤Ç¹½À®¤µ¤ì¤ë (¾è»»¤ä½ü»»¤¬¤Û¤È¤ó¤É¤Ê¤¤·×»») Ķ±Û´Ø¿ô¤ò·×»»¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹ (Walther 1971)¡£CORDIC ¤Ë¤è¤ê¡¢¥Ï¡¼¥É¥¦¥§¥¢¤òÄɲä·¤¿¾ì¹ç¤Ç¤â®Å٤˱þ¤¸¤Æ¾è»»´ï¥¢¥ì¥¤¤ËÈæ³Ó¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£d ¤Ï Intel 8087 ¤ÈMotorola 68881 ¤ÎξÊý¤Ç»ÈÍѤµ¤ì¤Þ¤¹¡£
17 ¤³¤ì¤Ï¡¢Èù̯¤ÊÅÀ¤Ç¤¹¡£IEEE ±é»»¤Î¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤·¤¿¿ô¤¬ ¤Ë´Ý¤á¤é¤ì¤Þ¤¹¤¬¡¢¥Ç¥Õ¥©¥ë¥È¤òÊѹ¹¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹ (¡Ö´Ý¤á¥â¡¼¥É¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤)¡£

18 ¤³¤ì¤Ï¡¢854 ¤Ç¤Ï¥µ¥Ö¥Î¡¼¥Þ¥ë¡¢754 ¤Ç¤ÏÈóÀµµ¬¤È¸Æ¤Ð¤ì¤Þ¤¹¡£

19 ¤³¤ì¤¬¡¢É¸½à²½¤ÎºÇ¤âÊ£»¨¤Ê¦Ì̤Ǥ¹¡£ÉÑÈˤ˥¢¥ó¥À¡¼¥Õ¥í¡¼¤¹¤ë¥×¥í¥°¥é¥à¤Ï¡¢¥½¥Õ¥È¥¦¥§¥¢¥È¥é¥Ã¥×¤ò»ÈÍѤ¹¤ë¥Ï¡¼¥É¥¦¥§¥¢¤Ç¤Ï¶Ëü¤Ë¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤¬Äã²¼¤·¤Þ¤¹¡£
20 Áàºî¤Ë¡Ö¥È¥é¥Ã¥×¡×¤¹¤ë NaN ¤¬È¼¤ï¤Ê¤¤¸Â¤ê¡¢Ìµ¸úÁàºî¤ÎÎã³°¤Ïµ¯¤­¤Þ¤»¤ó¡£¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢IEEE Std 754-1985 ¤Î 6.2 ¹à¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£-Ed

21 x¤È y ¤ÎξÊý¤¬Éé¤Î¾ì¹ç¡¢ ¤¬ ¤è¤êÂ礭¤¯¤Ê¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£

22 x < 1, n < 0 ¤Ç x-n ¤¬¡¢¥¢¥ó¥À¡¼¥Õ¥í¡¼¤Î¸Â³¦ 2e min¤è¤ê¤ï¤º¤«¤Ë¾®¤µ¤¤¾ì¹ç¤Ï¡¢ ¤È¤Ê¤ë¤Î¤Ç¡¢IEEE ¤ÎÀºÅ٤Ϥ¹¤Ù¤Æ -emin < emax ¤È¤Ê¤ë¤³¤È¤Ë¤è¤ê¡¢¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤Ïµ¯¤­¤Þ¤»¤ó¡£

23 ¤³¤ì¤Ï¤ª¤½¤é¤¯¡¢Àß·×¼Ô¤¬ÉâÆ°¾®¿ôÅÀÌ¿Îá¤ÎÀºÅÙ¤¬¼ÂºÝ¤ÎÁàºî¤«¤é¤ÏÆÈΩ¤·¤¿Ä¾¹Ô´Ø·¸¤ÎÌ¿Î᥻¥Ã¥È¤ò¹¥¤à·¹¸þ¤òÈ¿±Ç¤·¤¿¤â¤Î¤Ç¤¹¡£¾è»»¤ÇÆÃÊ̤ʥ±¡¼¥¹¤òǧ¤á¤ë¤³¤È¤Ë¤è¤ê¡¢¤³¤Îľ¹Ô´Ø·¸¤¬¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£

24 ¤³¤³¤Ç¤Ï¡¢3.0 ¤¬Ã±ÀºÅÙ¤ÎÄê¿ô¡¢3.0D0 ¤¬ÇÜÀºÅÙ¤ÎÄê¿ô¤Ç¤¢¤ë¤³¤È¤òÁ°Äó¤È¤·¤Þ¤¹¡£

25 0 0 = 1 ¤È¤¤¤¦È½ÃǤϡ¢f ¤¬ÈóÄê¿ô¤Ç¤¢¤ë¤³¤È¤òµ¬Äꤹ¤ëÀ©¸Â¤Ë°Í¸¤·¤Þ¤¹¡£¤³¤ÎÀ©¸Â¤¬¤Ê¤±¤ì¤Ð¡¢f ¤ò°ì°Õ¤Ë 0 ¤È¤¹¤ë¤³¤È¤Ë¤è¤ê¡¢´Ø¿ô¤Ï¡¢lim® 0f(x)g(x) ¤ÎÃͤȤ·¤Æ 0 ¤òÊÖ¤·¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢0 0¤Ï NaN ¤ÈÄêµÁ¤µ¤ì¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£

26 0 0¤Ë¤Ä¤¤¤Æ¤Ï¡¢¤µ¤Þ¤¶¤Þ¤ÊµÄÏÀ¤Î;ÃϤ¬¤¢¤ê¤Þ¤¹¤¬¡¢ºÇ¤âÀâÆÀÎϤΤ¢¤ëÀâÌÀ¤Ï "Concrete Mathematics" (Graham¡¢Knuth¡¢Patashnik¶¦Ãø) ¤Ç¡¢Æó¹àÄêÍý¤¬À®¤êΩ¤Ä¤Ë¤Ï 0 0 = 1 ¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤È»ØŦ¤·¤Æ¤¤¤Þ¤¹¡£
27 ´Ý¤á¥â¡¼¥É¤¬ - ¤Ø¤Î´Ý¤á¤Ë¤Ê¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ï½ü¤­¤Þ¤¹ (¤³¤Î¾ì¹ç¤Ï x - x = -0 ¤Ç¤¹)¡£

28 VAX ¤Î VMS ¿ô³Ø¥é¥¤¥Ö¥é¥ê¤Ç¤Ï¡¢Äã®¤Ê CALLS ¤ä CALLG Ì¿Îá¤ÎÂå¤ï¤ê¤Ë¡¢³ºÅö¤¹¤ë¥µ¥Ö¥ë¡¼¥Á¥ó¤ò¥³¥¹¥È¤Î¤«¤«¤é¤Ê¤¤·Á¼°¤Ç¸Æ¤Ó½Ð¤¹¤È¤¤¤¦°ÕÌ£¤Ç¡¢°ì¼ï¤Î¥¤¥ó¥é¥¤¥ó¡¦¥×¥í¥·¡¼¥¸¥ãÃÖ´¹¤ò»ÈÍѤ·¤Æ¤¤¤Þ¤¹¡£

29 Á°ÃÖ´¹¤ÎÆñ¤·¤µ¤Ï¡¢¥Ï¡¼¥É¥¦¥§¥¢¤Ë¤è¤ëľÀÜŪ¤Ê¼ÂÁõ¤¬É¬ÍפˤʤëÅÀ¡¢¤Þ¤¿¥½¥Õ¥È¥¦¥§¥¢¾å¤Ç¥¤¥ó¥×¥ê¥á¥ó¥È¤¹¤ë¾ì¹ç¤Ï¡¢Ï¢Â³Åª¤ÊÉâÆ°¾®¿ôÅÀ¤Î¥È¥é¥Ã¥×¤òÀßÄꤹ¤ë¤È¤³¤í¤Ë¤¢¤ê¤Þ¤¹¡£- Ed

30 ¤³¤Îά¼°¤Î¾ÚÌÀ¤Ç¤Ï¡¢¦Â= 2 ¤òÁ°Äó¤È¤¹¤ë¤Î¤Ç¡¢4 ¤Ë¤è¤ë¾è»»¤ÏÀµ³Î¤Ë¹Ô¤ï¤ì¤ë¤¿¤á¡¢¦Äi ¤ÏɬÍפ¢¤ê¤Þ¤»¤ó¡£

31 (bkx + wbk) ¤Ç bkx ¤Î·Á¼°¤¬ÊÝ»ý¤µ¤ì¤ë¾ì¹ç¤Ë¸Â¤ê¡¢´Ý¤á¤Ë¤è¤ê¡¢bkx + wbk - rbk ¤È¤Ê¤ê¤Þ¤¹¡£-Ed

¥µ¥ó¡¦¥Þ¥¤¥¯¥í¥·¥¹¥Æ¥à¥º³ô¼°²ñ¼Ò
Copyright information. All rights reserved.
¥Û¡¼¥à   |   Ìܼ¡   |   Á°¥Ú¡¼¥¸¤Ø   |   ¼¡¥Ú¡¼¥¸¤Ø   |   º÷°ú