Next: , Previous: Numeric Conversions, Up: Numbers   [Contents][Index]


3.6 »»½Ñ±é»»

Emacs Lisp¤Ë¤Ï¡¢ÅÁÅýŪ¤Ê»Í§±é»»¡¢²Ã»»¡¢¸º»»¡¢¾è»»¡¢½ü»»¤¬¤¢¤ê¤Þ¤¹¡£ ½ü»»´Ø¿ô¤òÊ䤦¡¢Í¾¤ê¤È¾ê;¤Î´Ø¿ô¤â¤¢¤ê¤Þ¤¹¡£ Lisp¤ÎÅÁÅý¤Ç¤â¤¢¤ê¡¢¤Þ¤¿¡¢Â¿ÍѤ¹¤ë¤Î¤Ç¡¢1¤ò²Ã»»¤·¤¿¤ê¸º»»¤¹¤ë´Ø¿ô¤â¤¢¤ê¤Þ¤¹¡£

¤³¤ì¤é¤Î´Ø¿ô¤Ï¡¢%¤ò½ü¤¤¤Æ¡¢°ú¿ô¤¬1¤Ä¤Ç¤âÉâÆ°¾®¿ôÅÀ¿ô¤Ç¤¢¤ë¤È¡¢ ÉâÆ°¾®¿ôÅÀ¿ô¤òÊÖ¤·¤Þ¤¹¡£

Emacs Lisp¤Ç¤Ï¡¢»»½Ñ´Ø¿ô¤Ï·å°î¤ì¡Ê¥ª¡¼¥Ð¥Õ¥í¡¼¡Ë¤ò¸¡ºº¤·¤Ê¤¤¤³¤È¤Ë Ãí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£ ¤Ä¤Þ¤ê¡¢ÆÉ¼Ô¤Î·×»»µ¡¤Ë°Í¸¤·¤Þ¤¹¤¬¡¢ (1+ 134217727)¤òɾ²Á¤¹¤ë¤È-134217728¤Ë¤Ê¤ë¾ì¹ç¤â¤¢¤ê¤Þ¤¹¡£

Function: 1+ number-or-marker

¤³¤Î´Ø¿ô¤Ï¡¢number-or-marker­¤¹1¤òÊÖ¤¹¡£

(setq foo 4)
     ⇒ 4
(1+ foo)
     ⇒ 5

¤³¤Î´Ø¿ô¤ÏC¸À¸ì¤Î±é»»»Ò++¤ÎÎà»÷¤Ç¤Ï¤Ê¤¤¡£ ¤Ä¤Þ¤ê¡¢ÊÑ¿ô¤òÁý²Ã¤·¤Ê¤¤¡£ ¤·¤¿¤¬¤Ã¤Æ¡¢¤Ä¤®¤Î¤è¤¦¤Ë¤Ê¤ë¡£

foo
     ⇒ 4

ÊÑ¿ô¤òÁý²Ã¤¹¤ë¤Ë¤Ï¡¢¤Ä¤®¤Î¤è¤¦¤Ësetq¤ò»È¤¦É¬Íפ¬¤¢¤ë¡£

(setq foo (1+ foo))
     ⇒ 5
Function: 1- number-or-marker

¤³¤Î´Ø¿ô¤Ï¡¢number-or-marker°ú¤¯1¤òÊÖ¤¹¡£

Function: + &rest numbers-or-markers

¤³¤Î´Ø¿ô¤Ï¡¢°ú¿ô¤ò¤¹¤Ù¤Æ²Ã»»¤¹¤ë¡£ °ú¿ô¤ò»ØÄꤷ¤Ê¤¤¤È+¤Ï0¤òÊÖ¤¹¡£

(+)
     ⇒ 0
(+ 1)
     ⇒ 1
(+ 1 2 3 4)
     ⇒ 10
Function: - &optional number-or-marker &rest more-numbers-or-markers

´Ø¿ô-¤Ï¡¢2¤Ä¤ÎÌò³ä¡¢¤Ä¤Þ¤ê¡¢Éä¹æÈ¿Å¾¤È¸º»»¤ò²Ì¤¿¤¹¡£ -¤Ë1¤Ä¤Î°ú¿ô¤ò»ØÄꤹ¤ë¤È¡¢ ¤½¤ÎÃͤϡ¢°ú¿ô¤ÎÉ乿¤òȿž¤·¤¿¤â¤Î¤Ç¤¢¤ë¡£ Ê£¿ô¸Ä¤Î°ú¿ô¤ò»ØÄꤹ¤ë¤È¡¢-¤Ï¡¢ number-or-marker¤«¤émore-numbers-or-markers¤Î1¤Ä1¤Ä¤ò¸º»»¤¹¤ë¡£ °ú¿ô¤ò»ØÄꤷ¤Ê¤¤¤È·ë²Ì¤Ï0¤Ç¤¢¤ë¡£

(- 10 1 2 3 4)
     ⇒ 0
(- 10)
     ⇒ -10
(-)
     ⇒ 0
Function: * &rest numbers-or-markers

¤³¤Î´Ø¿ô¤Ï¡¢°ú¿ô¤ò¤¹¤Ù¤Æ³Ý¤±¹ç¤ï¤»¤¿¾è»»·ë²Ì¤òÊÖ¤¹¡£ °ú¿ô¤ò»ØÄꤷ¤Ê¤¤¤È*¤Ï1¤òÊÖ¤¹¡£

(*)
     ⇒ 1
(* 1)
     ⇒ 1
(* 1 2 3 4)
     ⇒ 24
Function: / dividend divisor &rest divisors

¤³¤Î´Ø¿ô¤Ï¡¢dividend¤òdivisor¤Ç½ü¤·¾¦¤òÊÖ¤¹¡£ Äɲäΰú¿ôdivisors¤ò»ØÄꤷ¤Æ¤¢¤ë¤È¡¢ dividend¤òdivisors¤Î1¤Ä1¤Ä¤Ç½ü¤¹¡£ ³Æ°ú¿ô¤Ï¿ô¤«¥Þ¡¼¥«¤Ç¤¢¤ë¡£

¤¹¤Ù¤Æ¤Î°ú¿ô¤¬À°¿ô¤Ç¤¢¤ë¾ì¹ç¡¢·ë²Ì¤âÀ°¿ô¤È¤Ê¤ë¡£ ¤Ä¤Þ¤ê¡¢·ë²Ì¤ÏÀÚ¤ê¼Î¤Æ¤Ë¤Ê¤ë¡£ ¤Û¤È¤ó¤É¤Î·×»»µ¡¤Ç¤Ï³Æ½ü»»¤Î·ë²Ì¤Ï0¤Ë¸þ¤±¤ÆÀÚ¤ê¼Î¤Æ¤Ë¤Ê¤ë¤¬¡¢ Éé¤Î°ú¿ô¤òÊ̤ÎÊýË¡¤Ç´Ý¤á¤ë·×»»µ¡¤â¤¢¤ë¡£ ¤³¤ì¤Ï¡¢Lisp´Ø¿ô/¤òC¸À¸ì¤Î½ü»»±é»»»Ò¤Ç¼ÂÁõ¤·¤Æ¤¤¤ë¤«¤é¤Ç¤¢¤ê¡¢ C¸À¸ì¤Î½ü»»±é»»»Ò¤Ç¤Ï·×»»µ¡°Í¸¤Ë´Ý¤á¤ë¤³¤È¤òµö¤·¤Æ¤¤¤ë¤«¤é¤Ç¤¢¤ë¡£ ¼ÂÍѾ塢¤¹¤Ù¤Æ¤Î´ûÃΤη׻»µ¡¤Ïɸ½àŪ¤ÊÊýË¡¤Ç´Ý¤á¤ë¡£

À°¿ô¤ò0¤Ç½ü»»¤¹¤ë¤È¡¢¥¨¥é¡¼arith-error¤òÄÌÃΤ¹¤ë¡£ ¡Êsee Errors¡£¡Ë ÉâÆ°¾®¿ôÅÀ¿ô¤ò0¤Ç½ü»»¤¹¤ë¤È¡¢IEEEÉâÆ°¾®¿ôÅÀ¿ô¤ò»È¤¦·×»»µ¡¤Ç¤Ï¡¢ ̵¸ÂÂ礫NaN¤òÊÖ¤¹¡£ ¤µ¤â¤Ê¤±¤ì¤Ð¥¨¥é¡¼arith-error¤òÄÌÃΤ¹¤ë¡£

(/ 6 2)
     ⇒ 3
(/ 5 2)
     ⇒ 2
(/ 5.0 2)
     ⇒ 2.5
(/ 5 2.0)
     ⇒ 2.5
(/ 5.0 2.0)
     ⇒ 2.5
(/ 25 3 2)
     ⇒ 4
(/ -17 6)
     ⇒ -2

¸¶ÍýŪ¤Ë¤Ï¡¢(/ -17 6)¤¬-3¤Ë¤Ê¤ë·×»»µ¡¤â¤¢¤ë¡£

Function: % dividend divisor

¤³¤Î´Ø¿ô¤Ï¡¢dividend¤òdivisor¤Ç½ü¤·¤¿¤¢¤È¤ÎÀ°¿ô¤Î;¤ê¤òÊÖ¤¹¡£ °ú¿ô¤ÏÀ°¿ô¤«¥Þ¡¼¥«¤Ç¤¢¤ëɬÍפ¬¤¢¤ë¡£

Éé¤Î°ú¿ô¤Ç¤Ï¡¢Í¾¤ê¤Ï¸¶ÍýŪ¤Ë·×»»µ¡°Í¸¤Ç¤¢¤ë¡£ ¼ÂÍѾ塢¤¹¤Ù¤Æ¤Î´ûÃΤη׻»µ¡¤ÏƱ¤¸¤è¤¦¤Ë¤Õ¤ë¤Þ¤¦¡£

divisor¤¬0¤Ç¤¢¤ë¤Èarith-error¤Ë¤Ê¤ë¡£

(% 9 4)
     ⇒ 1
(% -9 4)
     ⇒ -1
(% 9 -4)
     ⇒ 1
(% -9 -4)
     ⇒ -1

2¤Ä¤ÎǤ°Õ¤ÎÀ°¿ôdividend¤Èdivisor¤Ë¤ª¤¤¤Æ¡¢

(+ (% dividend divisor)
   (* (/ dividend divisor) divisor))

¤Ï¡¢¤Ä¤Í¤Ëdividend¤ËÅù¤·¤¤¡£

Function: mod dividend divisor

¤³¤Î´Ø¿ô¤Ï¡¢dividend¤Îdivisor¤Ë¤è¤ë¾ê;¤òÊÖ¤¹¡£ ¤¤¤¤¤«¤¨¤ì¤Ð¡¢dividend¤òdivisor¤Ç½ü¤·¤¿Í¾¤ê¤òÊÖ¤¹¡£ ¤¿¤À¤·¡¢¤½¤ÎÉ乿¤Ïdivisor¤ÈƱ¤¸¡£ °ú¿ô¤Ï¿ô¤«¥Þ¡¼¥«¤Ç¤¢¤ëɬÍפ¬¤¢¤ë¡£

%¤È°ã¤¤¡¢ mod¤ÏÉé¤Î°ú¿ô¤ËÂФ·¤Æ¤â¸·Ì©¤ËÄêµÁ¤µ¤ì¤¿·ë²Ì¤òÊÖ¤¹¡£ ÉâÆ°¾®¿ôÅÀ¤Î°ú¿ô¤âµö¤¹¡£ ¾¦¤ò¡ÊÉé¤Î̵¸ÂÂç¤Ë¸þ¤±¤Æ¡ËÀڤ겼¤²¤ÆÀ°¿ô¤Ë¤·¡¢ ¤½¤Î¾¦¤òÍѤ¤¤ÆÍ¾¤ê¤ò·×»»¤¹¤ë¡£

divisor¤¬0¤Ç¤¢¤ë¤Èarith-error¤Ë¤Ê¤ë¡£

(mod 9 4)
     ⇒ 1
(mod -9 4)
     ⇒ 3
(mod 9 -4)
     ⇒ -3
(mod -9 -4)
     ⇒ -1
(mod 5.5 2.5)
     ⇒ .5

2¤Ä¤ÎǤ°Õ¤ÎÀ°¿ôdividend¤Èdivisor¤Ë¤ª¤¤¤Æ¡¢

(+ (mod dividend divisor)
   (* (floor dividend divisor) divisor))

¤Ï¡¢¤Ä¤Í¤Ëdividend¤ËÅù¤·¤¤¡£ ¤¿¤À¤·¡¢¤É¤Á¤é¤«¤Î°ú¿ô¤¬ÉâÆ°¾®¿ôÅÀ¿ô¤Î¾ì¹ç¤Ë¤Ï¡¢ ´Ý¤á¸íº¹¤ÎÈÏ°ÏÆâ¤ÇÅù¤·¤¤¡£ floor¤Ë¤Ä¤¤¤Æ¤Ï¡¢Numeric Conversions¤ò»²¾È¡£


Next: , Previous: Numeric Conversions, Up: Numbers   [Contents][Index]