bc

Autres langues

Langue: ja

Autres versions - même langue

Version: .\" (openSuse - 09/10/07)

Section: 1 (Commandes utilisateur)

̾¾Î

bc - Ǥ°ÕÀºÅ٤η׻»¸À¸ì

½ñ¼°

bc [ -hlwsqv ] [long-options] [ file ... ]

¥Ð¡¼¥¸¥ç¥ó

¤³¤Î¥Þ¥Ë¥å¥¢¥ë¤Ï GNU bc version 1.06 ¤Ë¤Ä¤¤¤Æµ­½Ò¤·¤Æ¤¢¤ê¤Þ¤¹¡£

²òÀâ

bc ¤Ï¡¢Ç¤°Õ¤ÎÀºÅ٤οôÃͤò°·¤¦»ö¤¬¤Ç¤­¡¢¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì C ¤Îʸˡ¤Ë ¤è¤¯»÷¤¿·Á¤ÎÆþÎϤòÂÐÏÃŪ¤Ë¼Â¹Ô¤¹¤ë¸À¸ì¤Ç¤¹¡£ ¥³¥Þ¥ó¥É¥é¥¤¥ó¤Î¥ª¥×¥·¥ç¥ó¤Î»ØÄê¤Ë¤è¤ê¡¢É¸½à¿ô³Ø¥é¥¤¥Ö¥é¥ê¤ò»ÈÍѤ¹¤ë¤³¤È¤â ¤Ç¤­¤Þ¤¹¡£¤³¤ì¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï¡¢¤É¤Î¥Õ¥¡¥¤¥ë¤ò½èÍý¤¹¤ë¤è¤ê¤âÁ°¤Ë ¿ô³Ø¥é¥¤¥Ö¥é¥ê¤¬ÄêµÁ¤µ¤ì¤Þ¤¹¡£ bc ¤ÏÆ°ºî¤ò³«»Ï¤¹¤ë¤È¤Þ¤ººÇ½é¤Ë¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç»ØÄꤷ¤¿¥Õ¥¡¥¤¥ë¤ò ½ç¤Ë½èÍý¤·¤Þ¤¹¡£¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤ò½èÍý¤·¤¿¸å¤Ï¡¢bc ¤Ï ɸ½àÆþÎϤ«¤é¤ÎÆɤ߹þ¤ß¤ò¹Ô¤¤¤Þ¤¹¡£¤¹¤Ù¤Æ¤Î¥³¡¼¥É¤Ï¡¢¤½¤ì¤¬Æɤ߹þ¤Þ ¤ì¤¿»þÅÀ¤Ç¼Â¹Ô¤µ¤ì¤Æ¤¤¤­¤Þ¤¹¡£(¤â¤·¡¢¥Õ¥¡¥¤¥ëÃæ¤Ë¥×¥í¥»¥Ã¥µ¤ò»ß¤á¤ë ¥³¥Þ¥ó¥É¤¬´Þ¤Þ¤ì¤Æ¤¤¤¿¾ì¹ç¤Ï¡¢É¸½àÆþÎϤ«¤é¤ÎÆɤ߹þ¤ß¤Ï¹Ô¤ï¤ì¤Þ¤»¤ó¡£)

ËܥС¼¥¸¥ç¥ó¤Î bc ¤Ï¡¢ÅÁÅýŪ¤Ê bc ¤Î¼ÂÁõ¤ª¤è¤Ó POSIX ¤Î¥É¥é¥Õ¥Èµ¬³Ê¤è¤ê¤â³ÈÄ¥¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¥³¥Þ¥ó¥É¥é¥¤¥ó¥ª¥×¥·¥ç¥ó¤Ë¤è¤ê¡¢ ¤³¤ì¤é¤Î³ÈÄ¥¤ËÂФ·¤Æ·Ù¹ð¤òɽ¼¨¤·¤¿¤êµñÀ䤷¤¿¤ê¤¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡£ Ëܥɥ­¥å¥á¥ó¥È¤Ç¤Ï¡¢¤³¤Î¥×¥í¥»¥Ã¥µ¤¬¼õÍý¤¹¤ë¸À¸ì¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£ ³ÈÄ¥µ¡Ç½¤Ë¤Ä¤¤¤Æ¤Ï¤½¤Î»ÝÌÀµ­¤·¤Þ¤¹¡£

¥ª¥×¥·¥ç¥ó

-h, --help
»ÈÍÑÊýË¡¤òɽ¼¨¤·¡¢½ªÎ»¤·¤Þ¤¹¡£
-i, --interactive
ÂÐÏå⡼¥É¤ò¶¯À©¤·¤Þ¤¹¡£
-l, --mathlib
ɸ½à¿ô³Ø¥é¥¤¥Ö¥é¥ê¤òÄêµÁ¤·¤Þ¤¹¡£
-w, --warn
POSIX bc ¤ËÂФ¹¤ë³ÈÄ¥µ¡Ç½¤¬ÆþÎϤµ¤ì¤¿¾ì¹ç¤Ï·Ù¹ð¤ò½Ð¤·¤Þ¤¹¡£
-s, --standard
POSIX bc ¤Î¸À¸ì»ÅÍͤ˸·Ì©¤Ë½¾¤Ã¤Æ½èÍý¤·¤Þ¤¹¡£
-q, --quiet
GNU bc ƳÆþ¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Þ¤»¤ó¡£
-v, --version
¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤ÈÃøºî¸¢¤òɽ¼¨¤·¤Æ½ªÎ»¤·¤Þ¤¹¡£

¿ô

bc ¤Ë¤ª¤±¤ëºÇ¤â´ðËÜŪ¤ÊÍ×ÁÇ¤Ï `¿ô' ¤Ç¤¹¡£¿ô¤Ï¡¢À°¿ôÉô¤È¾®¿ôÉô¤¬¤¢¤ê¡¢ Ǥ°Õ¤ÎÀºÅÙ¤ò¤È¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤¹¤Ù¤Æ¤Î¿ô¤Ï¡¢ÆâÉô¤Ç¤Ï 10 ¿Ê¿ô¤Çɽ¸½¤µ¤ì¤Æ¤ª¤ê¡¢ ·×»»¤â 10 ¿Ê¿ô¤Ç¹Ô¤ï¤ì¤Þ¤¹¡£(ËܥС¼¥¸¥ç¥ó¤Ç¤Ï¡¢½ü»»¤È¾è»»¤Ç·ë²Ì¤ËÀڼΤƤ¬ µ¯¤³¤ê¤Þ¤¹¡£) ¿ô¤Ë¤Ï length ¤È scale ¤È¤¤¤¦ 2 ¤Ä¤Î°À­¤¬¤¢¤ê¤Þ¤¹¡£ length ¤Ï 10 ¿Ê¤Ç¤ÎÍ­¸ú·å¿ô¤Ç¡¢scale ¤Ï¾®¿ôÅÀ°Ê²¼¤Î 10 ¿Ê¤Ç¤ÎÍ­¸ú·å¿ô¤Ç¤¹¡£ Î㤨¤Ð¡¢

.000001 ¤Ï¡¢length¤¬ 6 ¤Ç¡¢scale ¤â 6 ¤Ç¤¹¡£ 1935.000 ¤Ï¡¢length¤¬ 7 ¤Ç¡¢scale ¤¬ 3 ¤Ç¤¹¡£


ÊÑ¿ô

¿ô¤Ï¡¢Ã±½ãÊÑ¿ô¤ÈÇÛÎó¤Î 2 ¼ïÎà¤ÎÊÑ¿ô¤ËÊݸ¤µ¤ì¤Þ¤¹¡£Ã±½ãÊÑ¿ô¤ÈÇÛÎóÊÑ¿ô¤Ë¤Ï¶¦¤Ë ̾Á°¤¬ÉÕ¤±¤é¤ì¤Þ¤¹¡£¤³¤Î̾Á°¤Ï¡¢ºÇ½é¤Î 1 ʸ»úÌܤ¬¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¤Ç¡¢¸å¤Ï¡¢ ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¡¢¿ô»ú¤ª¤è¤Ó¥¢¥ó¥À¥¹¥³¥¢¤òǤ°Õ¤Îʸ»ú¿ôÁȤ߹ç¤ï¤»¤Æ »È¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤¹¤Ù¤Æ¤Î¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¤Ï¾®Ê¸»ú¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ (¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¤È¿ô»ú¤ò»È¤Ã¤¿Ì¾Á°¤Îµ¡Ç½¤Ï³ÈÄ¥µ¡Ç½¤Ç¤¹¡£ POSIX bc ¤Ç¤Ï¡¢ÊÑ¿ô¤Ë±Ñ¾®Ê¸»ú 1 ʸ»ú¤·¤«µö¤µ¤ì¤Þ¤»¤ó¡£) ÇÛÎóÊÑ¿ô¤Î̾Á°¤Ë¤Ïɬ¤º¥Ö¥é¥±¥Ã¥È ([]) ¤¬¤Ä¤¯¤Î¤Ç¡¢ÊÑ¿ô¤Î·¿¤Ïʸ̮¤Ë¤ª¤¤¤Æ ¤Ï¤Ã¤­¤ê¤·¤Æ¤¤¤Þ¤¹¡£

Æüì¤ÊÊÑ¿ô¤È¤·¤Æ scale, ibase, obase, last ¤Î 4 ¤Ä¤ÎÊÑ¿ô¤¬¤¢¤ê¤Þ¤¹¡£ scale ¤Ç·×»»»þ¤Î¾®¿ôÅÀ°Ê²¼¤ÎÍ­¸ú·å¿ô¤ò»ØÄꤷ¤Þ¤¹¡£ scale ¤Î¥Ç¥Õ¥©¥ë¥È¤Ï 0 ¤Ç¤¹¡£ ibase ¤È obase ¤ÇÆþÎϤª¤è¤Ó½ÐÎϤÎÊÑ´¹´ð¿ô¤ò»ØÄꤷ¤Þ¤¹¡£ ¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢ÆþÎÏ¡¢½ÐÎϤδð¿ô¤Ï¶¦¤Ë 10 ¤Ç¤¹¡£ last ¤Ï¡¢ºÇ¸å¤Ë bc ¤¬½ÐÎϤ·¤¿¿ô¤òÊÝ»ý¤·¤Æ¤¤¤Þ¤¹ (¤³¤ì¤Ï³ÈÄ¥µ¡Ç½¤Ç¤¹)¡£¤³¤ì¤é¤Ë¤Ä¤¤¤Æ¤Ï¡¢¸å¤ÇŬÀڤʤȤ³¤í¤Ç¾Ü¤·¤¯ÀâÌÀ¤·¤Þ¤¹¡£ ¤³¤ì¤é¤ÎÊÑ¿ô¤Ë¤Ï¡¢¼°¤Ç»È¤ï¤ì¤ëÂåÆþ¤ÈƱÍͤÎÂåÆþ¤ò¹Ô¤¦¤³¤È¤¬²Äǽ¤Ç¤¹¡£

¥³¥á¥ó¥È

bc ¤Ï¡¢/* ¤«¤é */ ¤Î´Ö¤ò¥³¥á¥ó¥È¤È¤·¤Æ°·¤¤¤Þ¤¹¡£ ¥³¥á¥ó¥È¤Ï¤É¤³¤«¤é»Ï¤Þ¤Ã¤Æ¤¤¤Æ¤â¤è¤¯¡¢1 ʸ»ú¤Î¶õÇò¤È¤·¤Æ°·¤ï¤ì¤Þ¤¹¡£ (¤³¤ì¤Ë¤è¤ê¡¢¥³¥á¥ó¥È¤Ï¤½¤ÎÁ°¸å¤ÎÆþÎÏ¥¢¥¤¥Æ¥à¤òÀÚ¤êÎ¥¤·¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢ ÊÑ¿ô̾¤ÎÅÓÃæ¤Ë¥³¥á¥ó¥È¤òÃÖ¤¯¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£) ¥³¥á¥ó¥È¤ÎÃæ¤Ë¤Ï¤¤¤¯¤Ä²þ¹Ô¤¬¤¢¤Ã¤Æ¤â¤«¤Þ¤¤¤Þ¤»¤ó¡£

bc ¤ò¥¹¥¯¥ê¥×¥È¤È¤·¤Æ¤â»È¤¨¤ë¤è¤¦¤Ë¤¹¤ë¤¿¤á¡¢1 ¹Ô¥³¥á¥ó¥È¤¬ ³ÈÄ¥µ¡Ç½¤È¤·¤ÆÄɲ䵤ì¤Þ¤·¤¿¡£1 ¹Ô¥³¥á¥ó¥È¤Ï # ¤Ç»Ï¤Þ¤ê¡¢ ¼¡¤Î²þ¹Ô¤Þ¤ÇÍ­¸ú¤Ç¤¹¡£¤½¤Î²þ¹Ôʸ»ú¼«ÂΤϥ³¥á¥ó¥È¤Î°ìÉô¤È¤Ï¤ß¤Ê¤µ¤ì¤º¡¢ ÉáÄ̤˽èÍý¤µ¤ì¤Þ¤¹¡£

¼°

`¿ô' ¤Ï¡¢¼°¤ª¤è¤Óʸ¤Ë¤è¤Ã¤ÆÁàºî¤µ¤ì¤Þ¤¹¡£ ¤³¤Î¸À¸ì¤ÏÂÐÏÃŪ¤Ë¤Ê¤ë¤è¤¦¤ËÀ߷פµ¤ì¤Æ¤¤¤ë¤¿¤á¡¢ ʸ¤ª¤è¤Ó¼°¤Ï²Äǽ¤Ê¸Â¤ê¨ºÂ¤Ë¼Â¹Ô¤µ¤ì¤Þ¤¹¡£ "main" ¥×¥í¥°¥é¥à¤È¤¤¤Ã¤¿¤â¤Î¤Ï¤Ê¤¯¡¢¤½¤Î¤«¤ï¤ê¡¢¥³¡¼¥É¤Ï ¤½¤ì¤Ë½Ð¤¯¤ï¤·¤¿»þÅÀ¤Ç¼Â¹Ô¤µ¤ì¤Þ¤¹¡£ (¸å¤Ç½Ò¤Ù¤ë`´Ø¿ô'¤Ï¡¢¤½¤ì¤Ë½Ð¤¯¤ï¤·¤¿»þÅÀ¤ÇÄêµÁ¤µ¤ì¤Þ¤¹¡£)

¼°¤ÎºÇ¤âñ½ã¤Ê¤â¤Î¤Ï¡¢¤¿¤À¤ÎÄê¿ô¤Ç¤¹¡£bc ¤Ï¡¢ÆþÎϤµ¤ì¤¿ Äê¿ô¤ò¡¢ÊÑ¿ô ibase ¤Ç»ØÄꤵ¤ì¤ë¸½ºß¤Î´ð¿ô¤ò¸µ¤Ë¡¢ÆâÉôŪ¤Ë¤Ï 10 ¿Êɽ¸½¤Î ¿ô¤ËÊÑ´¹¤·¤Þ¤¹¡£(´Ø¿ô¤Î¾ì¹ç¤Ë¤ÏÎã³°¤¬¤¢¤ê¤Þ¤¹¡£) ibase ¤Ë¤Ï¡¢2 ¤«¤é 16 ¤Þ¤Ç¤¬»ÈÍѤǤ­¤Þ¤¹¡£ ¤³¤ÎÈϰϤò±Û¤¨¤ëÃͤò ibase ¤ËÂåÆþ¤·¤è¤¦¤È¤¹¤ë¤È¡¢ 2 ¤¢¤ë¤¤¤Ï 16 ¤ò»ØÄꤷ¤¿¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£ ¿ô¤ÎÆþÎϤˤϡ¢0-9 ¤ª¤è¤Ó A-F ¤Îʸ»ú¤¬ÍøÍѤǤ­¤Þ¤¹¡£(Ãí°Õ: ¤³¤ì¤ÏÂçʸ»ú¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£¾®Ê¸»ú¤ÏÊÑ¿ô̾¤Ç¤¹¡£) 1 ·å¤Î¿ô¤Ï ibase ¤ÎÃͤ˴ط¸¤Ê¤¯¤½¤ÎÃͤò»ý¤Á¤Þ¤¹ (¤¹¤Ê¤ï¤Á A=10)¡£ Ê£¿ô·å¤Î¿ô¤Î¾ì¹ç¡¢bc ¤Ï ibase °Ê¾å¤ÎÃͤò¤â¤Ä¤¹¤Ù¤Æ¤ÎÆþÎÏ·å¤ò ibase-1¤ËÊѹ¹¤·¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢¿ô FFF ¤Ï¾ï¤Ë¡¢ ¤½¤ÎÆþÎÏ´ð¿ô¤ò»È¤Ã¤Æ 3 ·å¤Çɽ¸½²Äǽ¤ÊºÇÂç¤ÎÃͤòɽ¤·¤Þ¤¹¡£

¤¹¤Ù¤Æ¤Î±é»»¼°¤¬¡¢Â¾¤Î¿¤¯¤Î¹âµé¸À¸ì¤Ë»÷¤¿¤â¤Î¤È¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ ¿ô¤Î·¿¤Ï 1 ¼ïÎष¤«¤Ê¤¤¤¿¤á¡¢·¿ÊÑ´¹¤Îµ¬Â§¤Ï¤¢¤ê¤Þ¤»¤ó¡£ ¤½¤Î¤«¤ï¤ê¡¢¼°¤ÎÍ­¸ú·å¿ô¤Ë´Ø¤¹¤ëµ¬Â§¤¬¤¢¤ê¤Þ¤¹¡£ ¤¹¤Ù¤Æ¤Î¼°¤ËÍ­¸ú·å¿ô¤¬¤¢¤ê¡¢¤³¤ì¤Ï¤½¤ÎÈï±é»»¿ô¤ÎÍ­¸ú·å¿ô¤È »Ü¤µ¤ì¤ë±é»»¡¢¤½¤ì¤Ë¿¤¯¤Î¾ì¹ç¡¢ ÊÑ¿ô scale ¤«¤é·èÄꤵ¤ì¤Þ¤¹¡£scale ¤Ë¤Ï¡¢0 ¤«¤é C ¤ÎÀ°¿ô¤Çɽ¸½¤Ç¤­¤ëºÇÂç¤ÎÃͤޤǤ¬»ØÄê²Äǽ¤Ç¤¹¡£

°Ê²¼¡¢bc ¤Ç»ÈÍѲÄǽ¤Ê±é»»»Ò¤òÀâÌÀ¤·¤Þ¤¹¡£¤Ê¤ª¡¢´°Á´·Á¤Î¼°¤ò "expr"¡¢ ñ½ãÊÑ¿ô¤Þ¤¿¤ÏÇÛÎóÊÑ¿ô¤ò "var" ¤Èɽµ­¤·¤Þ¤¹¡£ ñ½ãÊÑ¿ô¤Ïñ¤Ë

name
¤Èɽ¤·¡¢ÇÛÎóÊÑ¿ô¤Ï
name[expr]
¤Èɽ¤·¤Þ¤¹¡£Æä˸ÀµÚ¤·¤Ê¤¤¸Â¤ê¡¢·ë²Ì¤ÎÍ­¸ú·å¿ô¤Ï¡¢ÃíÌܤ·¤Æ¤¤¤ë¼°¤Î ºÇÂçÍ­¸ú·å¿ô¤Ë¤Ê¤ê¤Þ¤¹¡£
- expr
·ë²Ì¤Ï¤½¤Î¼°¤ÎÉä¹æ¤òȿž¤·¤¿¤â¤Î¤È¤Ê¤ê¤Þ¤¹¡£
++ var
ÊÑ¿ô¤ò 1 ¤À¤±¥¤¥ó¥¯¥ê¥á¥ó¥È¤·¡¢¤½¤Î¿·¤·¤¤Ãͤ¬¼°¤Î·ë²Ì¤È¤Ê¤ê¤Þ¤¹¡£
-- var
ÊÑ¿ô¤ò 1 ¤À¤±¥Ç¥¯¥ê¥á¥ó¥È¤·¡¢¤½¤Î¿·¤·¤¤Ãͤ¬¼°¤Î·ë²Ì¤È¤Ê¤ê¤Þ¤¹¡£
var ++
¼°¤Î·ë²Ì¤Ï¤½¤ÎÊÑ¿ô¤ÎÃͤȤʤꡢ¤½¤ì¤«¤é¤½¤ÎÊÑ¿ô¤ò 1 ¤À¤± ¥¤¥ó¥¯¥ê¥á¥ó¥È¤·¤Þ¤¹¡£
var --
¼°¤Î·ë²Ì¤Ï¤½¤ÎÊÑ¿ô¤ÎÃͤȤʤꡢ¤½¤ì¤«¤é¤½¤ÎÊÑ¿ô¤ò 1 ¤À¤± ¥Ç¥¯¥ê¥á¥ó¥È¤·¤Þ¤¹¡£
expr + expr
¼°¤Î·ë²Ì¤Ï 2 ¤Ä¤Î¼°¤ÎϤȤʤê¤Þ¤¹¡£
expr - expr
¼°¤Î·ë²Ì¤Ï 2 ¤Ä¤Î¼°¤Îº¹¤È¤Ê¤ê¤Þ¤¹¡£
expr * expr
¼°¤Î·ë²Ì¤Ï 2 ¤Ä¤Î¼°¤ÎÀѤȤʤê¤Þ¤¹¡£
expr / expr
¼°¤Î·ë²Ì¤Ï 2 ¤Ä¤Î¼°¤Î¾¦¤È¤Ê¤ê¤Þ¤¹¡£ ·ë²Ì¤Î scale ¤ÏÊÑ¿ô scale ¤ÎÃͤȤʤê¤Þ¤¹¡£
expr % expr
·ë²Ì¤Ï¡¢°Ê²¼¤Î¤è¤¦¤Ë¤·¤Æµá¤á¤é¤ì¤ë¾ê;¤Ç¤¹¡£a%b ¤òµá¤á¤ë¤¿¤á¤Ë¡¢¤Þ¤º a/b ¤ò scale ¤ÎÍ­¸ú·å¿ô¤Ç·×»»¤·¤Þ¤¹¡£¤³¤Î·ë²Ì¤òÍѤ¤¤Æ¡¢a-(a/b)*b ¤ò¡¢ scale+scale(b) ¤È scale(a) ¤ÎÂ礭¤¤Êý¤ÎÍ­¸ú·å¿ô¤Ç·×»»¤·¤Þ¤¹¡£ ¤â¤· scale ¤Ë 0 ¤¬¥»¥Ã¥È¤µ¤ì¡¢Î¾Êý¤Î¼°¤¬À°¿ô¤Ç¤¢¤ì¤Ð¡¢ À°¿ô¤Î¾ê;¤¬µá¤á¤é¤ì¤Þ¤¹¡£
expr ^ expr
¼°¤Î·ë²Ì¤Ï¡¢1 ÈÖÌܤμ°¤ÎÃͤò 2 ÈÖÌܤβó¿ô¤À¤±¾è¤¸¤¿¤â¤Î¤Ë¤Ê¤ê¤Þ¤¹¡£ 2 ÈÖÌܤμ°¤Ï¡¢À°¿ô¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ (2 ÈÖÌܤμ°¤¬À°¿ô¤Ç¤Ê¤¤¾ì¹ç¤Ï·Ù¹ð¤¬É½¼¨¤µ¤ì¡¢ À°¿ô¤ËÀÚ¤êµÍ¤á¤¿Ãͤ¬»ÈÍѤµ¤ì¤Þ¤¹¡£) ·ë²Ì¤Î scale ¤Ï¡¢¤Ù¤­»Ø¿ô¤¬ Éé¤Ê¤é scale ¤Ë¤Ê¤ê¤Þ¤¹¡£¤Ù¤­»Ø¿ô¤¬Àµ¤Ê¤é¡¢ "1 ÈÖÌܤμ°¤Î scale ¤È¤Ù¤­»Ø¿ô¤È¤ÎÀÑ" ¤ª¤è¤Ó "scale ¤È 1 ÈÖÌܤμ°¤Î scale ¤ÎÂ礭¤¤Êý" ¤Î¤¦¤Á¤Î¾®¤µ¤¤Êý (¤Ä¤Þ¤ê¡¢scale(a^b) = min(scale(a)*b, max( scale, scale(a)))) ¤È¤Ê¤ê¤Þ¤¹¡£ expr^0 ¤Ï¾ï¤Ë 1 ¤òÊÖ¤·¤Þ¤¹¡£
( expr )
ɸ½à¤ÎÍ¥ÀèÅÙ¤ò»È¤ï¤º¤Ë¡¢¤³¤Î¼°¤Îɾ²Á¤òÍ¥À褷¤Þ¤¹¡£
var = expr
¼°¤ÎÃͤ¬ÊÑ¿ô¤ËÂåÆþ¤µ¤ì¤Þ¤¹¡£
var <op>= expr
"var" ¤¬°ìÅÙ¤·¤«É¾²Á¤µ¤ì¤Ê¤¤¤³¤È°Ê³°¤Ï "var = var <op> expr" ¤ÈƱ¤¸¤Ç¤¹¡£ "var" ¤¬ÇÛÎó¤Î¾ì¹ç¤ÏÆ°ºî¤¬°ã¤¦¤³¤È¤¬¤¢¤êÆÀ¤Þ¤¹¡£

´Ø·¸±é»»¤ÏÆüì¤Ê±é»»¤Ç¡¢·ë²Ì¤Ï¾ï¤Ë 0 ¤« 1 ¤Ë¤Ê¤ê¤Þ¤¹¡£´Ø·¸¤¬µ¶¤Î»þ 0¡¢ ¿¿¤Î»þ 1 ¤Ë¤Ê¤ê¤Þ¤¹¡£´Ø·¸±é»»¤Ï¡¢±é»»¼°¤Î¤É¤³¤Ç¤â»È¤¦»ö¤¬¤Ç¤­¤Þ¤¹¡£ (POSIX bc¤Ç¤Ï¡¢´Ø·¸±é»»¤Ï¡¢if, while, for ʸ¤ÎÃæ¤À¤±¤Ç¡¢¤·¤«¤â 1 ¤Ä¤Î´Ø·¸¼°¤·¤«»ÈÍѤǤ­¤Þ¤»¤ó¡£) ´Ø·¸±é»»»Ò¤Ï°Ê²¼¤ÎÄ̤ꡣ

expr1 < expr2
expr1 ¤¬ expr2 ¤è¤ê¾®¤µ¤¤¾ì¹ç 1 ¤Ë¤Ê¤ê¤Þ¤¹¡£
expr1 <= expr2
expr1 ¤¬ expr2 ¤è¤ê¾®¤µ¤¤¤«Åù¤·¤¤¾ì¹ç 1 ¤Ë¤Ê¤ê¤Þ¤¹¡£
expr1 > expr2
expr1 ¤¬ expr2 ¤è¤êÂ礭¤¤¾ì¹ç 1 ¤Ë¤Ê¤ê¤Þ¤¹¡£
expr1 >= expr2
expr1 ¤¬ expr2 ¤è¤êÂ礭¤¤¤«Åù¤·¤¤¾ì¹ç 1 ¤Ë¤Ê¤ê¤Þ¤¹¡£
expr1 == expr2
expr1 ¤È expr2 ¤¬Åù¤·¤¤¾ì¹ç 1 ¤Ë¤Ê¤ê¤Þ¤¹¡£
expr1 != expr2
expr1 ¤È expr2 ¤¬Åù¤·¤¯¤Ê¤¤¾ì¹ç 1 ¤Ë¤Ê¤ê¤Þ¤¹¡£

ÏÀÍý±é»»¤â»È¤¨¤Þ¤¹¡£(POSIX bc ¤Ë¤ÏÏÀÍý±é»»¤Ï¤¢¤ê¤Þ¤»¤ó¡£) ÏÀÍý±é»»¤â´Ø·¸±é»»¤ÈƱÍÍ¡¢·ë²Ì¤Ï 0 ¤« 1 (³Æ¡¹µ¶¤ª¤è¤Ó¿¿) ¤Ë¤Ê¤ê¤Þ¤¹¡£ ÏÀÍý±é»»»Ò¤Ï°Ê²¼¤ÎÄ̤ꡣ

!expr
expr ¤¬ 0 ¤Ê¤é 1 ¤Ë¤Ê¤ê¤Þ¤¹¡£
expr && expr
expr1 ¤È expr2 ¤¬Î¾Êý¤È¤â 0 ¤Ç¤Ê¤¤¤Ê¤é¡¢1 ¤Ë¤Ê¤ê¤Þ¤¹¡£
expr || expr
expr1 ¤È expr2 ¤Î¤É¤Á¤é¤«°ìÊý¤¬ 0 ¤Ç¤Ê¤¤¤Ê¤é¡¢1 ¤Ë¤Ê¤ê¤Þ¤¹¡£

³Æ±é»»»Ò¤ÎÍ¥Àè½ç°Ì¤È·ë¹çµ¬Â§¤Ï¼¡¤ÎÄ̤ê¤Ç¤¹¡£ (ºÇ½é¤Î¤â¤Î¤Û¤ÉÄ㤯¡¢¸å¤Ë¤¤¤¯¤Û¤É¹â¤¤Í¥Àè½ç°Ì¤ÇÀè¤Ë¼Â¹Ô¤µ¤ì¤Þ¤¹¡£)


|| (º¸¤«¤é·ë¹ç) && (º¸¤«¤é·ë¹ç) ! (·ë¹ç¤»¤º) ´Ø·¸±é»» (º¸¤«¤é·ë¹ç) ÂåÆþ±é»» (±¦¤«¤é·ë¹ç) + - (º¸¤«¤é·ë¹ç) * / % (º¸¤«¤é·ë¹ç) ^ (±¦¤«¤é·ë¹ç) - (ñ¹à¥Þ¥¤¥Ê¥¹) (·ë¹ç¤»¤º) ++ -- (·ë¹ç¤»¤º)


¤³¤ÎÍ¥Àè½ç°Ì¤Ï¡¢POSIX bc ¤Î¥×¥í¥°¥é¥à¤¬¤½¤Î¤Þ¤ÞÀµ¤·¤¯Æ°¤¯¤è¤¦¤Ë ÇÛθ¤·¤Æ·è¤á¤é¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤Î¤¿¤á¡¢´Ø·¸±é»»¤ÈÏÀÍý±é»»¤ò ÂåÆþʸ¤È¶¦¤ËÍѤ¤¤¿¾ì¹ç¡¢Ä̾ï¤È¤Ï°Û¤Ê¤ë¿¶¤ëÉñ¤¤¤ò¤·¤Þ¤¹¡£ ¼¡¤ÎÎã¤ò¹Í¤¨¤Æ¤ß¤Þ¤·¤ç¤¦:

a = 3 < 5

C ¥×¥í¥°¥é¥Þ¤Î¤Û¤È¤ó¤É¤Ï¡¢ ``3 < 5'' ¤Î´Ø·¸±é»»¤¬¼Â¹Ô¤µ¤ì¤¿·ë²Ì (¤Ä¤Þ¤ê 1) ¤¬ÊÑ¿ô ``a'' ¤ËÂåÆþ¤µ¤ì¤ë¡¢ ¤È¹Í¤¨¤ë¤Ç¤·¤ç¤¦¡£ ¤È¤³¤í¤¬ bc ¤Ç¤Ï¡¢¤Þ¤º 3 ¤¬ÊÑ¿ô ``a'' ¤ËÂåÆþ¤µ¤ì¡¢ ¤½¤ì¤«¤é 3 ¤È 5 ¤ÎÈæ³Ó¤¬¹Ô¤ï¤ì¤ë¤Î¤Ç¤¹¡£ ¤³¤Î´Ö°ã¤¤¤òÈò¤±¤ë¤¿¤á¤Ë¡¢ ´Ø·¸±é»»¤äÏÀÍý±é»»¤òÂåÆþ±é»»¤È¶¦¤ËÍѤ¤¤ë¾ì¹ç¤Ï¡¢ ³ç¸Ì¤ò»È¤¦¤Î¤¬ºÇÎɤǤ¹¡£

bc ¤Ë¤ÏÆÃÊ̤ʼ°¤¬¤µ¤é¤Ë¤¤¤¯¤Ä¤«È÷¤ï¤Ã¤Æ¤¤¤Þ¤¹¡£ ¤½¤ì¤Ï¥æ¡¼¥¶ÄêµÁ´Ø¿ô¤Èɸ½à´Ø¿ô¤Ë´Ø¤¹¤ë¤â¤Î¤Ç¡¢ ¤¹¤Ù¤Æ "name(parameters)" ¤È¤¤¤¦·Á¤ò¤·¤Æ¤¤¤Þ¤¹¡£ ¥æ¡¼¥¶ÄêµÁ´Ø¿ô¤Ë¤Ä¤¤¤Æ¤Ï´Ø¿ô¤Î¾Ï¤ò»²¾È¤·¤Æ²¼¤µ¤¤¡£ ɸ½à´Ø¿ô¤Ï°Ê²¼¤ÎÄ̤ê¤Ç¤¹:

length ( expression )
expression ¤ÎÍ­¸ú·å¿ô¤òÊÖ¤·¤Þ¤¹¡£
read ( )
(³ÈÄ¥µ¡Ç½) ´Ø¿ô¤Î½Ð¸½°ÌÃ֤˴ط¸¤Ê¤¯¡¢É¸½àÆþÎϤ«¤é¿ô¤òÆɤ߼è¤ê¤Þ¤¹¡£ ¥Ç¡¼¥¿¤È¥×¥í¥°¥é¥à¤ÎξÊý¤òɸ½àÆþÎϤ«¤éÍ¿¤¨¤ë¤è¤¦¤Ê¾ì¹ç¤Ë¤Ï¡¢ ÌäÂê¤òÀ¸¤¸¤¦¤ë¤³¤È¤ËÃí°Õ¤·¤Æ²¼¤µ¤¤¡£ ºÇÎɤÎÊýË¡¤Ï¡¢ ¥æ¡¼¥¶¤«¤é¥Ç¡¼¥¿¤ÎÆþÎϤÎɬÍפ¬¤¢¤ë¤Ê¤é¡¢¥×¥í¥°¥é¥à¤Ï¤¢¤é¤«¤¸¤áºî¤Ã¤Æ¤ª¤­¡¢ ɸ½àÆþÎϤ«¤é¥×¥í¥°¥é¥à¤òÆþÎϤ·¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¤³¤È¤Ç¤¹¡£ read ´Ø¿ô¤ÎÃͤÏɸ½àÆþÎϤ«¤éÆɤ߹þ¤ó¤À¿ô¤Ç¤¹¡£ ¤½¤ÎºÝ¡¢ÊÑ´¹´ð¿ô¤È¤·¤ÆÊÑ¿ô ibase ¤Î¸½ºß¤ÎÃͤ¬ÍѤ¤¤é¤ì¤Þ¤¹¡£
scale ( expression )
expression ¤Î¾®¿ôÅÀ°Ê²¼¤ÎÍ­¸ú·å¿ô¤òÊÖ¤·¤Þ¤¹¡£
sqrt ( expression )
expression ¤ÎÊ¿Êýº¬¤òÊÖ¤·¤Þ¤¹¡£ expression ¤ËÉé¤ÎÃͤò»ØÄꤷ¤¿¾ì¹ç¤Ï¡¢¥é¥ó¥¿¥¤¥à¥¨¥é¡¼¤Ë¤Ê¤ê¤Þ¤¹¡£

ʸ

ʸ¤Ï (¤Û¤È¤ó¤É¤Î»»½Ñ¸À¸ì¤¬¤½¤¦¤Ç¤¢¤ë¤è¤¦¤Ë)¡¢½èÍý¤ò½çÈ֤˼¹Ԥ·¤Æ¤¤¤¯Ã±°Ì¤Ç¤¹¡£ bc ¤Ç¤Ïʸ¤Ï¡Ö¤Ç¤­¤ë¤À¤±ÁᤤÃʳ¬¤Ç¡×¼Â¹Ô¤µ¤ì¤Þ¤¹¡£ ²þ¹Ô¤¬ÆþÎϤµ¤ì¤¿»þÅÀ¤Ç¡¢¼Â¹Ô²Äǽ¤Êʸ¤¬Â¸ºß¤·¤Æ¤¤¤ì¤Ð¡¢Â¨ºÂ¤Ë¼Â¹Ô¤·¤Þ¤¹¡£ ¤³¤Î¤¿¤á bc ¤Ç¤Ï²þ¹Ô¤¬½ÅÍפÊÌò³ä¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹¡£ ¼ÂºÝ¡¢¥»¥ß¥³¥í¥ó¤È²þ¹Ô¤¬Ê¸¤Î¶èÀÚ¤ê¤È¤·¤Æ»ÈÍѤµ¤ì¤Þ¤¹¡£ ÉÔŬÅö¤Ê¾ì½ê¤Ç²þ¹Ô¤òÆþÎϤ¹¤ë¤È¡¢Ê¸Ë¡¥¨¥é¡¼¤Ë¤Ê¤ê¤Þ¤¹¡£ ²þ¹Ô¤Ïʸ¤Î¶èÀÚ¤ê¤Ç¤¹¤¬¡¢¥Ð¥Ã¥¯¥¹¥é¥Ã¥·¥å¤òÍѤ¤¤Æ²þ¹Ô¤ò±£¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ bc ¤Ë¤È¤Ã¤Æ¡¢"\<nl>" (<nl>¤Ï²þ¹Ô) ¤Ï²þ¹Ô¤Ç¤Ï¤Ê¤¯¶õÇò¤Ë¸«¤¨¤Þ¤¹¡£ ʸ¤Î¥ê¥¹¥È¤Ï¡¢¥»¥ß¥³¥í¥ó¤È²þ¹Ô¤Ç¶èÀÚ¤é¤ì¤¿Ê¸¤ÎʤӤǤ¹¡£ °Ê²¼¡¢bc ¤Îʸ¤Î¼ïÎà¤È¤½¤ÎÆ°ºî¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£ (¤Ê¤ª¡¢°Ê²¼¤ÎÀâÌÀ¤Ç ([]) ¤Ç³ç¤Ã¤¿Éôʬ¤Ï¾Êά²Äǽ¤Ê¹à¤Ç¤¹¡£)
±é»»¼°
±é»»¼°¤Ë¤Ï¼¡¤Î 2 ¤Ä¤Î¼ïÎब¤¢¤ê¤Þ¤¹¡£ ±é»»¼°¤¬ "<variable> <assignment> ..." ¤Ç»Ï¤Þ¤Ã¤Æ¤¤¤ì¤Ð¡¢ ¤½¤ì¤ÏÂåÆþʸ¤È¤·¤Æ°·¤ï¤ì¤Þ¤¹¡£ ¤½¤¦¤Ç¤Ê¤±¤ì¤Ð¡¢±é»»¼°¤Ïɾ²Á¤µ¤ì¤Æ½ÐÎϤËɽ¼¨¤µ¤ì¤Þ¤¹¡£ ·ë²Ì¤¬É½¼¨¤µ¤ì¤¿¸å¡¢²þ¹Ô¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ Î㤨¤Ð¡¢"a=1" ¤ÏÂåÆþʸ¤Ç¤¢¤ê¡¢ "(a=1)" ¤ÏÂåÆþʸ¤¬Ëä¤á¹þ¤Þ¤ì¤¿±é»»¼°¤Ç¤¹¡£ ɽ¼¨¤µ¤ì¤ë¿ôÃͤϤ¹¤Ù¤Æ¡¢ÊÑ¿ô obase ¤Ç·è¤Þ¤ë´ð¿ô¤Çɽ¼¨¤µ¤ì¤Þ¤¹¡£ obase ¤Ë»ØÄê¤Ç¤­¤ëÃÍ¤Ï 2 ¤«¤é BC_BASE_MAX ¤Þ¤Ç¤Ç¤¹¡£ (¡ÖÀ©¸Â¡×¤Î¾Ï¤ò»²¾È¡£) ´ð¿ô 2 ¤«¤é 16 ¤Þ¤Ç¤Ç¤Ï¡¢Ä̾ï¤Î¿ôɽµ­Ë¡¤¬ÍѤ¤¤é¤ì¤Þ¤¹¡£ ´ð¿ô¤¬ 16 ¤è¤êÂ礭¤¤¾ì¹ç¡¢bc ¤Ï¡¢ ³Æ·å¤ò 10 ¿Êɽµ­¤¹¤ëÊ£¿ô·åʸ»úɽµ­Ë¡¤Çɽ¼¨¤·¤Þ¤¹¡£ Ê£¿ô·åʸ»úɽµ­Ë¡¤Ç¤Ï¡¢³Æ·å¤Ï¶õÇò¤Ç¶èÀÚ¤é¤ì¤Þ¤¹¡£ ³Æ·å¤Ï "obase-1" ¤ò 10 ¿Ê¤Çɽµ­¤¹¤ë¤Î¤ËɬÍפʷå¿ô¤Î¿ô»ú¤«¤éÀ®¤ê¤Þ¤¹¡£ ¿ô¤ÎÀºÅÙ¤ÏǤ°Õ¤ËÁª¤Ù¤ë¤¿¤á¡¢¿ô¤Ë¤è¤Ã¤Æ¤Ï 1 ¹Ô¤Ëɽ¼¨¤Ç¤­¤Ê¤¤¾ì¹ç¤â¤¢¤ê¤Þ¤¹¡£ ¤½¤Î¤è¤¦¤ÊŤ¤¿ô¤Ï¡¢¹ÔËö¤Ë "\" ¤òÉÕ¤±¤Æ¼¡¹Ô¤Ë·Ñ³¤·¤Þ¤¹¡£ 1 ¹Ô¤Ëɽ¼¨¤Ç¤­¤ëʸ»ú¿ô¤Ï 70 ¤Ç¤¹¡£ bc ¤ÎÂÐÏÃŪÀ­¼Á¤Ë¤è¤ê¡¢¤¢¤ë¿ô¤òɽ¼¨¤¹¤ë¤È¡¢ ɽ¼¨¤·¤¿Ãͤ¬ÆüìÊÑ¿ô last ¤ËÂåÆþ¤µ¤ì¤ë¤È¤¤¤¦ÉûºîÍѤ¬À¸¤¸¤Þ¤¹¡£ ¥æ¡¼¥¶¤Ï¥¿¥¤¥×¤·Ä¾¤¹¤³¤È¤Ê¤¯ºÇ¸å¤Ëɽ¼¨¤µ¤ì¤¿ÃͤòºÆÍøÍѤǤ­¤Þ¤¹¡£ last ¤ËÃͤòÂåÆþ¤¹¤ë¤³¤È¤â²Äǽ¤Ç¡¢ ¤½¤Î¾ì¹ç¡¢Á°²óɽ¼¨¤µ¤ì¤¿Ãͤ¬ÂåÆþÃͤǾå½ñ¤­¤µ¤ì¤Þ¤¹¡£ ¿·¤·¤¯ÂåÆþ¤·¤¿Ãͤϡ¢¼¡¤Ë¿ô¤¬É½¼¨¤µ¤ì¤ë¤«Ê̤ÎÃͤ¬ last ¤ËÂåÆþ¤µ¤ì¤ë ¤Þ¤ÇÍ­¸ú¤Ç¤¹¡£(bc ¤Î¼ÂÁõ¤Ë¤è¤Ã¤Æ¤Ï¡¢ ¿ô¤Î°ìÉô¤Ë¤Ê¤Ã¤Æ¤¤¤Ê¤¤Ã±°ì¤Î¥Ô¥ê¥ª¥É (.) ¤ò last ¤Îû½Ìɽµ­¤È¤·¤Æ ÍѤ¤¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£)
string
ʸ»úÎó string ¤¬½ÐÎϤËɽ¼¨¤µ¤ì¤Þ¤¹¡£ ʸ»úÎó¤ÏÆó½Å°úÍÑÉä¤Ç»Ï¤Þ¤ê¡¢¼¡¤ÎÆó½Å°úÍÑÉä¤Þ¤Ç¤Î¤¹¤Ù¤Æ¤Îʸ»ú¤ò´Þ¤ß¤Þ¤¹¡£ ²þ¹Ô¤ò´Þ¤á¡¢¤¹¤Ù¤Æ¤Îʸ»ú¤Ïʸ»úÄ̤ê¤Ë²ò¼á¤µ¤ì¤Þ¤¹¡£ ʸ»úÎó¤Î¸å¤Ë²þ¹Ô¤Ï½ÐÎϤµ¤ì¤Þ¤»¤ó¡£
print list
print ʸ (¤³¤ì¤Ï³ÈÄ¥µ¡Ç½¤Ç¤¹) ¤Ï¡¢¤â¤¦¤Ò¤È¤Ä¤Î½ÐÎÏÊýË¡¤Ç¤¹¡£ "list" ¤Ï¥³¥ó¥Þ¤Ç¶èÀڤä¿Ê¸»úÎ󤪤è¤Ó±é»»¼°¤Î¥ê¥¹¥È¤Ç¤¢¤ê¡¢ ³Æʸ»úÎ󤢤뤤¤Ï±é»»¼°¤¬¥ê¥¹¥È¤Î½ç¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£ ºÇ¸å¤Ë²þ¹Ô¤Ï½ÐÎϤµ¤ì¤Þ¤»¤ó¡£ ±é»»¼°¤Ïɾ²Á¤µ¤ì¡¢¤½¤ÎÃͤ¬É½¼¨¤µ¤ì¤ë¤È¤È¤â¤Ë¡¢ ÊÑ¿ô last ¤ËÂåÆþ¤µ¤ì¤Þ¤¹¡£ print ʸÃæ¤Îʸ»úÎó¤Ï½ÐÎϤËɽ¼¨¤µ¤ì¤Þ¤¹¤¬¡¢Æüìʸ»ú¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ Æüìʸ»ú¤Ï¥Ð¥Ã¥¯¥¹¥é¥Ã¥·¥å (\) ¤Ç»Ï¤Þ¤ê¤Þ¤¹¡£ bc ¤Ç»È¤¨¤ëÆüìʸ»ú¤Ï¡¢ "a" (¥Ù¥ë)¡¢"b" (¥Ð¥Ã¥¯¥¹¥Ú¡¼¥¹)¡¢ "f" (¥Õ¥©¡¼¥à¥Õ¥£¡¼¥É)¡¢"n" (²þ¹Ô)¡¢"r" (Éüµ¢)¡¢"q" (Æó½Å°úÍÑÉä)¡¢ "t" (¥¿¥Ö)¡¢"\" (¥Ð¥Ã¥¯¥¹¥é¥Ã¥·¥å) ¤Ç¤¹¡£ ¤³¤ì°Ê³°¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£
{ statement_list }
ʣʸ¤Ç¤¹¡£Ê£¿ô¤Îʸ¤ò 1 ¤Ä¤Î¥°¥ë¡¼¥×¤Ë¤Þ¤È¤á¤Æ¼Â¹Ô¤·¤Þ¤¹¡£
if ( expression ) statement1 [else statement2]
if ʸ¤Ï±é»»¼° expression ¤òɾ²Á¤·¡¢¤½¤ÎÃͤ˱þ¤¸¤Æ ʸ statement1 ¤Þ¤¿¤Ïʸ statement2 ¤ò¼Â¹Ô¤·¤Þ¤¹¡£ expression ¤ÎÃͤ¬ 0 ¤Ç¤Ê¤±¤ì¤Ð statement1 ¤¬¼Â¹Ô¤µ¤ì¤Þ¤¹¡£ statement2 ¤¬Â¸ºß¤·¡¢expression ¤ÎÃͤ¬ 0 ¤Ê¤é¤Ð¡¢statement2 ¤¬¼Â¹Ô¤µ¤ì¤Þ¤¹¡£ (else Àá¤Ï³ÈÄ¥µ¡Ç½¤Ç¤¹¡£)
while ( expression ) statement
while ʸ¤Ï expression ¤¬ 0 ¤Ç¤Ê¤¤´Ö¡¢·«¤êÊÖ¤· statement ¤ò¼Â¹Ô¤·¤Þ¤¹¡£ statement ¤Î¼Â¹ÔÁ°¤ËËè²ó expression ¤òɾ²Á¤·¤Þ¤¹¡£ expression ¤ÎÃͤ¬ 0 ¤Ë¤Ê¤ë¤«¡¢break ʸ¤ò¼Â¹Ô¤¹¤ë¤È¡¢ ¥ë¡¼¥×¤¬½ªÎ»¤·¤Þ¤¹¡£
for ( [expression1] ; [expression2] ; [expression3] ) statement
for ʸ¤Ï statement ¤Î·«¤êÊÖ¤·¼Â¹Ô¤òÀ©¸æ¤·¤Þ¤¹¡£ expression1 ¤Ï¥ë¡¼¥×¼Â¹Ô¤ÎÁ°¤Ëɾ²Á¤µ¤ì¤Þ¤¹¡£ expression2 ¤Ï statement ¤Î¼Â¹ÔÁ°¤ËËè²óɾ²Á¤µ¤ì¡¢ ¤½¤ÎÃͤ¬ 0 ¤Ç¤Ê¤±¤ì¤Ð statement ¤¬¼Â¹Ô¤µ¤ì¤Þ¤¹¡£ expression2 ¤ÎÃͤ¬ 0 ¤Ë¤Ê¤ë¤È¡¢¥ë¡¼¥×¤Ï½ªÎ»¤·¤Þ¤¹¡£ ³Æ statement ¼Â¹Ô¤Î¸å¡¢ºÆ¤Ó expression2 ¤¬É¾²Á¤µ¤ì¤ëÁ°¤Ë expression3 ¤¬ ɾ²Á¤µ¤ì¤Þ¤¹¡£ expression1 ¤¢¤ë¤¤¤Ï expression3 ¤¬¾Êά¤µ¤ì¤Æ¤¤¤ë¤È¡¢ ¤½¤³¤Ç¤Ï²¿¤âɾ²Á¤µ¤ì¤Þ¤»¤ó¡£ expression2 ¤¬¾Êά¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢expression2 ¤¬ 1 ¤Ç¤¢¤ë¤Î¤È ƱÍͤ˰·¤ï¤ì¤Þ¤¹¡£ (³Æ expression ¤¬¾Êά²Äǽ¤Ê¤Î¤Ï³ÈÄ¥µ¡Ç½¤Ç¤¹¡£ POSIX bc ¤Ç¤Ï¡¢3 ¤Ä¤Î expression ¤Ï¤É¤ì¤â¾Êά¤Ç¤­¤Þ¤»¤ó¡£) °Ê²¼¤Ï for ʸ¤ÈÅù²Á¤Ê¥³¡¼¥É¤Ç¤¹:

expression1; while (expression2) { statement; expression3; }


break
¤½¤ì¤ò´Þ¤àºÇ¤âÆ⦤Πwhile ¤â¤·¤¯¤Ï for ʸ¤Ë¤è¤ë·«¤êÊÖ¤·¤ò¶¯À©Åª¤ËÃæÃǤ·¤Þ¤¹¡£
continue
¤½¤ì¤ò´Þ¤àºÇ¤âÆ⦤Πfor ʸ¤Ë¤ª¤±¤ë¼¡¤Î·«¤êÊÖ¤·¤Ë¿Ê¤ß¤Þ¤¹¡£ (continue ʸ¤Ï³ÈÄ¥µ¡Ç½¤Ç¤¹)
halt
¼Â¹Ô¤µ¤ì¤ë¤È bc ¥×¥í¥»¥Ã¥µ¤ò½ªÎ»¤µ¤»¤Þ¤¹(³ÈÄ¥µ¡Ç½)¡£ Î㤨¤Ð "if (0 == 1) halt" ¤Î¾ì¹ç¤Ï bc ¤Ï½ªÎ»¤·¤Þ¤»¤ó¡£ halt ʸ¤¬¼Â¹Ô¤µ¤ì¤Ê¤¤¤«¤é¤Ç¤¹¡£
return
´Ø¿ô¤«¤éÌá¤ê¤Þ¤¹¡£´Ø¿ô¤Î·ë²Ì¤Ï 0 ¤Ë¤Ê¤ê¤Þ¤¹¡£(´Ø¿ô¤Î¾Ï¤ò»²¾È)
return ( expression )
´Ø¿ô¤«¤éÌá¤ê¤Þ¤¹¡£´Ø¿ô¤Î·ë²Ì¤Ï expression ¤Ë¤Ê¤ê¤Þ¤¹¡£(´Ø¿ô¤Î¾Ï¤ò»²¾È) ³ÈÄ¥µ¡Ç½¤Ç¤¹¤¬¡¢³ç¸Ì¤Ïɬ¿Ü¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£

µ¿»÷ʸ

¤³¤ì¤é¤Ïº£¤Þ¤Ç¤Îʸ¤È¤ÏÆ°ºî¤¬°Û¤Ê¤ê¤Þ¤¹¡£ µ¿»÷ʸ¤Ï¼Â¹Ôʸ¤Ç¤Ï¤Ê¤¯¡¢¡Ö¥³¥ó¥Ñ¥¤¥ë¡×»þÅÀ¤Ç½èÍý¤µ¤ì¤Þ¤¹¡£
limits
bc ¤Î¥í¡¼¥«¥ë¥Ð¡¼¥¸¥ç¥ó¤Ë¤è¤êÀ©¸Â¤µ¤ì¤ë¸Â³¦Ãͤòɽ¼¨¤·¤Þ¤¹¡£ (limits ¤Ï³ÈÄ¥µ¡Ç½¤Ç¤¹)
quit
bc ¤ò½ªÎ»¤·¤Þ¤¹¡£¤É¤ó¤Ê¾ì½ê¤Ë¤¢¤Ã¤Æ¤â¡¢quit ʸ¤Ï ÆþÎϤµ¤ì¤¿»þÅÀ¤Ç¼Â¹Ô¤µ¤ì¤Þ¤¹¡£Î㤨¤Ð¡¢ "if (0 == 1) quit" ¤È¤¤¤¦µ­½Ò¤Ç¤¢¤Ã¤Æ¤â¡¢bc ¤Ï½ªÎ»¤·¤Þ¤¹¡£
warranty
Êݾڤ˴ؤ¹¤ëÃí°Õ¤òŤá¤Ëɽ¼¨¤·¤Þ¤¹¡£ (warranty ¤Ï³ÈÄ¥µ¡Ç½¤Ç¤¹)

´Ø¿ô

´Ø¿ô¤Ï¡¢¸å¤Ç¼Â¹Ô¤µ¤ì¤ë¤Ù¤­·×»»¼ê½ç¤òÄêµÁ¤¹¤ëµ¡Ç½¤Ç¤¹¡£ bc ¤Î´Ø¿ô¤Ï¾ï¤ËÃͤò·×»»¤·¡¢¤½¤ì¤ò¸Æ¤Ó¤À¤·Â¦¤ËÊÖ¤·¤Þ¤¹¡£ ´Ø¿ôÄêµÁ¤Ï¡¢¤½¤ì¤¬ÆþÎϤ«¤éÆɤ߹þ¤Þ¤ì¤¿»þÅÀ¤ÇÄêµÁ¤¬¹Ô¤ï¤ì¤ë¤È¤¤¤¦ÅÀ¤Ç ¡Ö¥À¥¤¥Ê¥ß¥Ã¥¯(ưŪ)¡×¤Ç¤¹¡£ °ìÅÙÄêµÁ¤µ¤ì¤¿´Ø¿ô¤Ï¡¢Æ±¤¸Ì¾Á°¤ÇÊ̤δؿô¤¬ÄêµÁ¤µ¤ì¤ë¤Þ¤Ç»ÈÍѲÄǽ¤Ç¡¢ ¿·¤·¤¤´Ø¿ô¤¬ÄêµÁ¤µ¤ì¤¿¾ì¹ç¤Ï¡¢Á°¤Î´Ø¿ô¤¬ÃÖ¤­´¹¤¨¤é¤ì¤Þ¤¹¡£ ´Ø¿ô¤ÎÄêµÁ¤Ï¡¢°Ê²¼¤Î¤è¤¦¤Ë¹Ô¤¤¤Þ¤¹:

define name ( parameters ) { newline auto_list statement_list }


´Ø¿ô¸Æ¤Ó½Ð¤·¤Ï¡¢ "name(parameters)" ¤È¤¤¤¦·Á¼°¤Î±é»»¼°¤Ç¤¹¡£

¥Ñ¥é¥á¡¼¥¿ parameters ¤Ï¿ô¤¢¤ë¤¤¤ÏÇÛÎó (³ÈÄ¥µ¡Ç½) ¤Ç¤¹¡£ ´Ø¿ôÄêµÁ¤Ç¤Ï¡¢0 ¤¢¤ë¤¤¤Ï 1 ¸Ä°Ê¾å¤Î¥Ñ¥é¥á¡¼¥¿Ì¾¤ò ¥³¥ó¥Þ¤Ç¶èÀڤäÆʤ٤뤳¤È¤ÇÄêµÁ¤·¤Þ¤¹¡£ ¿ô¤ÏÃÍÅϤ·(call by value)¤Ç¤Î¤ßÅϤµ¤ì¡¢ÇÛÎó¤ÏÊÑ¿ôÅϤ·(call by variable)¤Ç ¤Î¤ßÅϤµ¤ì¤Þ¤¹¡£ ÇÛÎó¤Ï¥Ñ¥é¥á¡¼¥¿ÄêµÁÃæ¤Ç "name[]" ¤Î¤è¤¦¤Ëɽµ­¤·¤Æ»ØÄꤷ¤Þ¤¹¡£ ´Ø¿ô¸Æ¤Ó½Ð¤·¤Ç¤Ï¡¢¿ô¤Î¥Ñ¥é¥á¡¼¥¿¤ËÂФ·¤Æ´°Á´¤Ê±é»»¼°¤Î¼Â¥Ñ¥é¥á¡¼¥¿¤ò µ­½Ò¤·¤Þ¤¹¡£ ÇÛÎó¤òÅϤ¹É½µ­¤ÏÇÛÎó¥Ñ¥é¥á¡¼¥¿ÄêµÁ¤ÈƱÍͤǤ¹¡£ ̾Á°ÉÕ¤­ÇÛÎó¤ÏÊÑ¿ô(variable)¤Ë¤è¤Ã¤Æ´Ø¿ô¤ËÅϤµ¤ì¤Þ¤¹¡£ ´Ø¿ôÄêµÁ¤Ï¥À¥¤¥Ê¥ß¥Ã¥¯¤æ¤¨¡¢ ¥Ñ¥é¥á¡¼¥¿¤Î¿ô¤È·¿¤Ï´Ø¿ô¸Æ¤Ó½Ð¤·¤ÎºÝ¤Ë¥Á¥§¥Ã¥¯¤µ¤ì¤Þ¤¹¡£ ¥Ñ¥é¥á¡¼¥¿¤Î¿ô¤¢¤ë¤¤¤Ï·¿¤Ë²¿¤é¤«¤ÎÉÔÀ°¹ç¤¬¤¢¤ë¤È¡¢ ¥é¥ó¥¿¥¤¥à¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤¹¡£ ̤ÄêµÁ´Ø¿ô¤ò¸Æ¤Ó½Ð¤·¤¿¾ì¹ç¤â¥é¥ó¥¿¥¤¥à¥¨¥é¡¼¤È¤Ê¤ê¤Þ¤¹¡£

auto_list ¤Ï¾Êά²Äǽ¤Ç¡¢¥í¡¼¥«¥ëÊÑ¿ô¤È¤·¤Æ»ÈÍѤ¹¤ëÊÑ¿ô¤Î¥ê¥¹¥È ¤Ç¤¹¡£auto_list ¤¬Â¸ºß¤¹¤ë¤Ê¤é¡¢¤½¤Îʸˡ¤Ï "auto name, ... ;" ¤È¤Ê¤ê¤Þ¤¹¡£(¥»¥ß¥³¥í¥ó¤Ï¾Êά²Äǽ¤Ç¤¹¡£) ³Æ name ¤¬¥í¡¼¥«¥ëÊÑ¿ô¤Î̾Á°¤È¤Ê¤ê¤Þ¤¹¡£ ÇÛÎó¤Ï¥Ñ¥é¥á¡¼¥¿¤ÈƱÍͤÎɽµ­¤Ç»ØÄê¤Ç¤­¤Þ¤¹¡£ ¤³¤ì¤é¤ÎÊÑ¿ô¤Ï¡¢´Ø¿ô¤ÎºÇ½é¤Ç¤½¤ÎÃͤ¬¥¹¥¿¥Ã¥¯¤Ë¥×¥Ã¥·¥å¤µ¤ì¤¿¤Î¤Á ÃÍ 0 ¤Ë½é´ü²½¤µ¤ì¡¢´Ø¿ô¤Î¼Â¹ÔÃæ¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£ ¤³¤ì¤é¤ÎÊÑ¿ô¤Ï´Ø¿ô½Ð¸ý¤Ë¤Æ¥Ý¥Ã¥×¤µ¤ì¡¢ (´Ø¿ô¸Æ¤Ó½Ð¤·»þ¤Î)¸µ¤ÎÃͤ¬Éü¸µ¤µ¤ì¤Þ¤¹¡£ ¥Ñ¥é¥á¡¼¥¿¤Ï¼ÂºÝ¤Ë¤Ï¥í¡¼¥«¥ëÊÑ¿ô¤Ç¤¢¤ê¡¢ ´Ø¿ô¸Æ¤Ó½Ð¤·¤ÇÍ¿¤¨¤é¤ì¤¿Ãͤ˽é´ü²½¤µ¤ì¤Þ¤¹¡£ bc ¤Î¥í¡¼¥«¥ëÊÑ¿ô¤ÏÅÁÅýŪ¤Ê°ÕÌ£¤Ç¤Î¥í¡¼¥«¥ëÊÑ¿ô¤È°Û¤Ê¤ê¡¢ ´Ø¿ô A ¤¬´Ø¿ô B ¤ò¸Æ¤Ó½Ð¤·¤Æ¤¤¤ë¤è¤¦¤Ê¾ì¹ç¡¢´Ø¿ô B ¤ÎÃæ¤Ë ´Ø¿ô A ¤Î¥í¡¼¥«¥ëÊÑ¿ô¤ÈƱ¤¸Ì¾Á°¤Î¥í¡¼¥«¥ëÊÑ¿ô¤¬¤Ê¤¤¸Â¤ê¡¢ ´Ø¿ô A ¤Î¥í¡¼¥«¥ëÊÑ¿ô̾¤ò¤½¤Î¤Þ¤Þ»È¤Ã¤Æ¡¢ ´Ø¿ô B ¤«¤é´Ø¿ô A ¤Î¥í¡¼¥«¥ëÊÑ¿ô¤ò¥¢¥¯¥»¥¹¤Ç¤­¤Þ¤¹¡£ ¥í¡¼¥«¥ëÊÑ¿ô¤È¥Ñ¥é¥á¡¼¥¿¤Ï¥¹¥¿¥Ã¥¯¤Ë¥×¥Ã¥·¥å¤µ¤ì¤ë¤¿¤á¡¢ bc ¤ÏºÆµ¢Åª¤Ê´Ø¿ô¸Æ¤Ó½Ð¤·¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£

´Ø¿ôËÜÂÎ¤Ï bc ¤Îʸ¤Î¥ê¥¹¥È¤Ç¤¹¡£ ·«¤êÊÖ¤·½Ò¤Ù¤Þ¤¹¤È¡¢Ê¸¤Ï¥»¥ß¥³¥í¥ó¤«²þ¹Ô¤Ç¶èÀÚ¤é¤ì¤Æ¤¤¤Þ¤¹¡£ return ʸ¤Ë¤è¤ê´Ø¿ô¤Ï½ªÎ»¤·¡¢ÃͤòÊÖ¤·¤Þ¤¹¡£ return ʸ¤Ë¤Ï 2 ¤Ä¤Î·Á¼°¤¬¤¢¤ê¡¢ ¤Ò¤È¤Ä¤á¤Î·Á¼° "return" ¤Ï¡¢¸Æ¤Ó½Ð¤·¸µ¤ËÃÍ 0 ¤òÊÖ¤·¤Þ¤¹¡£ ¤â¤¦¤Ò¤È¤Ä¤Î·Á¼° "return ( expression )" ¤Ï¡¢ expression ¤ÎÃͤò·×»»¤·¡¢¤½¤ì¤ò¸Æ¤Ó½Ð¤·¸µ¤ËÊÖ¤·¤Þ¤¹¡£ ³Æ´Ø¿ô¤ÎºÇ¸å¤Ë¤Ï "return (0)" ¤¬¤¢¤ë¤â¤Î¤È²ò¼á¤µ¤ì¤Þ¤¹¡£ ¤³¤ì¤Ë¤è¤ê¡¢ÌÀ¼¨Åª¤Ë return ʸ¤òÃÖ¤«¤Ê¤¯¤Æ¤â¡¢ ´Ø¿ô¤Ï½ªÎ»¤·¤ÆÃÍ 0 ¤òÊÖ¤·¤Þ¤¹¡£

´Ø¿ô¤ÎÃæ¤Ç¤Ï¡¢ÊÑ¿ô ibase ¤ÎÆ°ºî¤¬ÊѤï¤ê¤Þ¤¹¡£´Ø¿ô¤ÎÃæ¤Ç»È¤ï¤ì¤Æ ¤¤¤ëÄê¿ô¤Ï¡¢´Ø¿ô¤Î¸Æ¤Ó¤À¤·»þÅÀ¤Î ibase ¤ò¸µ¤ËÊÑ´¹¤¬¹Ô¤ï¤ì¤Þ¤¹¡£ ¤³¤Î¤¿¤á¡¢´Ø¿ôÆâÉô¤Ç ibase ¤òÊѹ¹¤·¤Æ¤â̵»ë¤µ¤ì¤Þ¤¹¡£¤¿¤À¤·¡¢É¸ ½à´Ø¿ô read ¤ò¸Æ¤Ó½Ð¤·¤¿¾ì¹ç¤ÏÎã³°¤Ç¡¢¤³¤ì¤Ï¾ï¤Ë¸½ºß¤Î ibase ¤ÎÃͤò¤â¤È¤ËÊÑ´¹¤¬¹Ô¤ï¤ì¤Þ¤¹¡£

³ÈÄ¥µ¡Ç½¤Ç¤¹¤¬¡¢ÄêµÁ¤Î½ñ¼°¤¬¼ã´³´Ë¤ä¤«¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ ɸ½à¤Ç¤Ï¡¢³«¤¯¥Ö¥ì¡¼¥¹¤¬ define ¥­¡¼¥ï¡¼¥É¤ÈƱ¤¸¹Ô¤Ë¤¢¤ë¤³¤È¤È¡¢ ¾¤ÎÉôʬ¤¬°ú¤­Â³¤¯¹Ô¤Ë¤¢¤ë¤³¤È¤¬É¬¿Ü¤Ç¤¹¡£ ËܥС¼¥¸¥ç¥ó¤Î bc ¤Ç¤Ï¡¢´Ø¿ô¤Î³«¤¯¥Ö¥ì¡¼¥¹¤ÎÁ°¸å¤Î²þ¹Ô¿ô¤ÏǤ°Õ¤Ç¤¹¡£ Î㤨¤Ð¡¢¼¡¤ÎÄêµÁ¤Ï¹çË¡¤Ç¤¹¡£


define d (n) { return (2*n); } define d (n) { return (2*n); }


¿ô³Ø¥é¥¤¥Ö¥é¥ê

bc ¤Ë -l ¥ª¥×¥·¥ç¥ó¤òÉÕ¤±¤Æµ¯Æ°¤·¤¿¾ì¹ç¤Ï¡¢¿ô³Ø¥é¥¤¥Ö¥é¥ê¤¬ Æɤ߹þ¤Þ¤ì¡¢¥Ç¥Õ¥©¥ë¥È¤Î scale ¤¬ 20 ¤ËÀßÄꤵ¤ì¤Þ¤¹¡£ ¿ô³Ø´Ø¿ô¤Ï¡¢¤½¤ì¤ò¸Æ¤Ó½Ð¤·¤¿»þÅÀ¤Î scale ¤ÎÃͤ˽¾¤Ã¤Æ·×»»¤ò¹Ô¤¤¤Þ¤¹¡£ ¿ô³Ø¥é¥¤¥Ö¥é¥ê¤Ë¤è¤Ã¤Æ»ÈÍѲÄǽ¤Ë¤Ê¤ë´Ø¿ô¤Ï¡¢¼¡¤ÎÄ̤ê¤Ç¤¹:
s (x)
sin (x ¤Îñ°Ì¤Ï¥é¥¸¥¢¥ó)
c (x)
cos (x ¤Îñ°Ì¤Ï¥é¥¸¥¢¥ó)
a (x)
atan (ÊÖ¤êÃͤÎñ°Ì¤Ï¥é¥¸¥¢¥ó)
l (x)
log (¼«Á³Âпô)
e (x)
exp (»Ø¿ô´Ø¿ô)
j (n,x)
À°¿ô n ¼¡¤Î¥Ù¥Ã¥»¥ë´Ø¿ô

»ÈÍÑÎã

¼¡¤ÎÎã¤Ï¡¢/bin/sh ¤Ç¥·¥§¥ëÊÑ¿ô pi ¤Ë ``¥Ñ¥¤'' ¤ÎÃͤòÂåÆþ¤·¤Þ¤¹¡£
pi=$(echo "scale=10; 4*a(1)" | bc -l)

¼¡¤ÎÎã¤Ï¡¢¿ô³Ø¥é¥¤¥Ö¥é¥ê¤Ç»È¤ï¤ì¤Æ¤¤¤ë ``e (x)'' ¤ÎÄêµÁ¤Ç¤¹¡£ ¤³¤Î´Ø¿ô¤Ï POSIX bc ¤Çµ­½Ò¤µ¤ì¤Æ¤¤¤Þ¤¹¡£


scale = 20 /* Uses the fact that e^x = (e^(x/2))^2 When x is small enough, we use the series: e^x = 1 + x + x^2/2! + x^3/3! + ... */ define e(x) { auto a, d, e, f, i, m, v, z /* Check the sign of x. */ if (x<0) { m = 1 x = -x } /* Precondition x. */ z = scale; scale = 4 + z + .44*x; while (x > 1) { f += 1; x /= 2; } /* Initialize the variables. */ v = 1+x a = x d = 1 for (i=2; 1; i++) { e = (a *= x) / (d *= i) if (e == 0) { if (f>0) while (f--) v = v*v; scale = z if (m) return (1/v); return (v/1); } v += e } }


¼¡¤ÎÎã¤Ï¡¢bc ¤Î³ÈÄ¥µ¡Ç½¤ò»È¤Ã¤Æ¡¢``checkbook balances'' (¾®ÀÚ¼êÄ¢»Ä¹â) ¤ò·×»»¤¹¤ë´Êñ¤Ê¥×¥í¥°¥é¥à¤Ç¤¹¡£ ¤³¤Î¥×¥í¥°¥é¥à¤ò¥Õ¥¡¥¤¥ë¤Ë¤·¤Æ¤ª¤¯¤È¡¢ Ëè²ó¥¿¥¤¥×¤·¤Ê¤ª¤µ¤º¤Ë²¿ÅÙ¤â»È¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£


scale=2 print "\nCheck book program!\n" print " Remember, deposits are negative transactions.\n" print " Exit by a 0 transaction.\n\n" print "Initial balance? "; bal = read() bal /= 1 print "\n" while (1) { "current balance = "; bal "transaction? "; trans = read() if (trans == 0) break; bal -= trans bal /= 1 } quit


¼¡¤ÎÎã¤Ï¡¢ºÆµ¢¸Æ¤Ó½Ð¤·¤Ë¤è¤ê³¬¾è¤ò·×»»¤¹¤ë´Ø¿ô¤Ç¤¹¡£


define f (x) { if (x <= 1) return (1); return (f(x-1) * x); }


readline ¤È libedit ¤Î¥ª¥×¥·¥ç¥ó

GNU bc ¤Ï (configure ¤Î¥ª¥×¥·¥ç¥ó¤Ë¤è¤Ã¤Æ) GNU readline ÆþÎÏ¥¨¥Ç¥£¥¿¥é¥¤¥Ö¥é¥ê¤Þ¤¿¤Ï BSD libedit ¥é¥¤¥Ö¥é¥ê ¤ò»È¤¦¤è¤¦¤Ë¥³¥ó¥Ñ¥¤¥ë¤Ç¤­¤Þ¤¹¡£ ¤³¤ì¤Ï¡¢bc ¤ËÆþÎϤ¹¤ëÁ°¤Ë¡¢¹Ô¤ÎÊÔ½¸¤ò²Äǽ¤Ë¤·¤Þ¤¹¡£ °ÊÁ°¤ËÆþÎϤ·¤¿¹Ô¤Î¥Ò¥¹¥È¥ê¤âÍøÍѲÄǽ¤Ë¤Ê¤ê¤Þ¤¹¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ç ¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤¿ bc ¤Ç¤Ï¡¢¤µ¤é¤Ë 1 ¤Ä¤ÎÆüì¤ÊÊÑ¿ô history ¤¬Äɲ䵤졢¥Ò¥¹¥È¥ê¤ËÊݸ¤µ¤ì¤ë¹Ô¤Î¿ô¤ò»ØÄꤷ¤Þ¤¹¡£ readline ¤Ç¤Ï¡¢ ¤½¤ÎÃͤ¬ -1 (¥Ç¥Õ¥©¥ë¥ÈÃÍ)¤Ê¤é¡¢¥Ò¥¹¥È¥ê¹Ô¤ÏÀ©¸Â¤Ê¤¯Êݸ¤µ¤ì¤Þ¤¹¡£ Àµ¤Î¿ô¤ò»ØÄꤹ¤ë¤È¡¢¥Ò¥¹¥È¥ê¹Ô¤¬¤½¤Î¿ô¤ËÀ©¸Â¤µ¤ì¤Þ¤¹¡£ 0 ¤Ê¤é¥Ò¥¹¥È¥êµ¡Ç½¤¬Ìµ¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£ ¥Ç¥Õ¥©¥ë¥ÈÃÍ¤Ï 100 ¤Ç¤¹¡£ ¾Ü¤·¤¯¤Ï¡¢¥æ¡¼¥¶¥Þ¥Ë¥å¥¢¥ë¤Î GNU readline ¤È history ¥é¥¤¥Ö¥é¥ê¤È BSD libedit ¤ò¤´Í÷²¼¤µ¤¤¡£ readline ¤È libedit ¤ÎξÊý¤òƱ»þ¤ËÍ­¸ú²½¤Ç¤­¤Þ¤»¤ó¡£

Áê°ãÅÀ

¤³¤Î¥Ð¡¼¥¸¥ç¥ó¤Î bc ¤Ï POSIX P1003.2/D11 ¥É¥é¥Õ¥È¤«¤é¼ÂÁõ¤µ¤ì¤Æ¤ª¤ê¡¢ ¤½¤Î¥É¥é¥Õ¥È¤ä°ÊÁ°¤Î¼ÂÁõ¤ËÈæ¤Ù¤Æ¤¤¤¯¤Ä¤«¤ÎÁê°ãÅÀ¤ä³ÈÄ¥ÅÀ¤¬¤¢¤ê¤Þ¤¹¡£ ÅÁÅýŪ¤Ë¹Ô¤ï¤ì¤Æ¤¤¤¿¤è¤¦¤Ê dc(1) ¤òÍѤ¤¤¿¼ÂÁõ¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£ ¤³¤Î¥Ð¡¼¥¸¥ç¥ó¤Ïñ°ì¥×¥í¥»¥¹¤Ç¤¢¤ê¡¢ ¥×¥í¥°¥é¥à¤ò¥Ð¥¤¥È¥³¡¼¥É¤ËÊÑ´¹¤·¤¿¤â¤Î¤ò²òÀϤ·¤Æ¼Â¹Ô¤·¤Þ¤¹¡£ ¡Ö¥É¥­¥å¥á¥ó¥È¤Ëµ­ºÜ¤µ¤ì¤Æ¤¤¤Ê¤¤¡×¥ª¥×¥·¥ç¥ó (-c) ¤¬¤¢¤ê¡¢ ¥×¥í¥°¥é¥à¤ò¼Â¹Ô¤¹¤ëÂå¤ï¤ê¤Ë¡¢¤½¤ì¤ò¥Ð¥¤¥È¥³¡¼¥É¤ËÊÑ´¹¤·¤¿·ë²Ì¤ò ɸ½à½ÐÎϤ˽ÐÎϤ·¤Þ¤¹¡£ ¤³¤ì¤Ï¼ç¤È¤·¤Æ¡¢¥Ñ¡¼¥¶¤Î¥Ç¥Ð¥Ã¥°¤È¿ô³Ø¥é¥¤¥Ö¥é¥ê¤Î½àÈ÷¤ËÍѤ¤¤é¤ì¤Þ¤·¤¿¡£

¼ç¤ÊÁê°ãÅÀ¤Ï³ÈÄ¥µ¡Ç½¤Ë¤è¤ë¤â¤Î¤Ç¤¹¡£ µ¡Ç½¤ò¹â¤á¤¿¤êÄɲä·¤¿¤ê¤¹¤ë¤¿¤á¤Ëµ¡Ç½¤¬³ÈÄ¥¤µ¤ì¤¿¤ê¡¢ ¿·µ¡Ç½¤¬Äɲ䵤줿¤ê¤·¤Æ¤¤¤Þ¤¹¡£ Áê°ãÅÀ¤È³ÈÄ¥ÅÀ¤Î¥ê¥¹¥È¤ò°Ê²¼¤Ë¼¨¤·¤Þ¤¹¡£

LANG
¤³¤Î¥Ð¡¼¥¸¥ç¥ó¤Ï¡¢ ´Ä¶­ÊÑ¿ô LANG ¤ª¤è¤Ó LC_ ¤Ç»Ï¤Þ¤ë¤¹¤Ù¤Æ¤Î´Ä¶­ÊÑ¿ô¤Î½èÍý¤Ë´Ø¤·¤Æ POSIX ɸ½à¤Ë ½àµò¤·¤Æ¤¤¤Þ¤»¤ó¡£
̾Á°
ÅÁÅýŪ¤Ê bc ¤ª¤è¤Ó POSIX bc ¤Ï¡¢´Ø¿ô¡¢ÊÑ¿ô¡¢ÇÛÎó¤Î̾Á°¤È¤·¤Æñ°ì¤Îʸ»ú¤ò»È¤¤¤Þ¤¹¡£ ¤³¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï¡¢ ÀèƬ¤¬Ê¸»ú¤Ç»Ï¤Þ¤ê¡¢Ê¸»ú¤È¿ô»ú¤È¥¢¥ó¥À¡¼¥¹¥³¥¢¤Ç ¹½À®¤µ¤ì¤ë 2 ʸ»ú°Ê¾å¤Î̾Á°¤¬»È¤¨¤ë¤è¤¦¤Ë³ÈÄ¥¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
ʸ»úÎó
ʸ»úÎó¤Ë¤Ï NUL ʸ»ú¤ò´Þ¤à¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£ POSIX ¤Ç¤Ï¡¢Ê¸»úÎó¤Ë¤Ï¤¢¤é¤æ¤ëʸ»ú¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡¢ ¤È¤·¤Æ¤¤¤Þ¤¹¡£
last
POSIX bc ¤Ë¤ÏÊÑ¿ô last ¤Ï¤¢¤ê¤Þ¤»¤ó¡£ bc ¤Î¼ÂÁõ¤Ë¤è¤Ã¤Æ¤Ï¡¢last ¤ÈƱ¤¸°ÕÌ£¤Ç ¥Ô¥ê¥ª¥É (.) ¤òÍѤ¤¤ë¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡£
Èæ³Ó
POSIX bc ¤Ç¤Ï¡¢Èæ³Ó¤Ï if ʸ¡¢while ʸ¡¢for ʸ¤ÎÂè 2 ¼°¤ÎÃæ¤Ç¤Î¤ß ÍѤ¤¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤Þ¤¿¡¢¤³¤ì¤é¤Îʸ¤ÎÃæ¤Ç¤Ï¤¿¤À 1 ¤Ä¤Î´Ø·¸±é»»¤·¤«»È¤¨¤Þ¤»¤ó¡£
if ʸ, else Àá
POSIX bc ¤Ë¤Ï else Àá¤Ï¤¢¤ê¤Þ¤»¤ó¡£
for ʸ
POSIX bc ¤Ç¤Ï for ʸ¤Î³Æ±é»»¼°¤Ï¾Êά¤Ç¤­¤Þ¤»¤ó¡£
&&, ||, !
POSIX bc ¤Ë¤ÏÏÀÍý±é»»»Ò¤Ï¤¢¤ê¤Þ¤»¤ó¡£
read ´Ø¿ô
POSIX bc ¤Ë¤Ï read ´Ø¿ô¤Ï¤¢¤ê¤Þ¤»¤ó¡£
print ʸ
POSIX bc ¤Ë¤Ï print ʸ¤Ï¤¢¤ê¤Þ¤»¤ó¡£
continue ʸ
POSIX bc ¤Ë¤Ï continue ʸ¤Ï¤¢¤ê¤Þ¤»¤ó¡£
return ʸ
POSIX bc ¤Ç¤Ï¡¢return ʸ¤Î¼þ¤ê¤Ë³ç¸Ì¤¬É¬ÍפǤ¹¡£
ÇÛÎó¥Ñ¥é¥á¡¼¥¿
POSIX bc ¤Ç¤Ï (¸½ºß¤Î¤È¤³¤í) ÇÛÎó¥Ñ¥é¥á¡¼¥¿¤Ï´°Á´¤Ë¤Ï»È¤¨¤Þ¤»¤ó¡£ POSIX ¤Îʸˡ¤Ç¤Ï¡¢´Ø¿ôÄêµÁ¤Ç¤ÏÇÛÎó¤ò»È¤¨¤Þ¤¹¤¬¡¢¼ÂºÝ¤Ë¸Æ¤Ó½Ð¤¹¤È¤­¤Î ¥Ñ¥é¥á¡¼¥¿¤ËÇÛÎó¤ò»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó¡£(¤³¤ì¤Ï¤ª¤½¤é¤¯¡¢Ê¸Ë¡¾å¤Î ¸«Íî¤È¤·¤Ç¤·¤ç¤¦¡£) ÅÁÅýŪ¤Ê bc ¤Î¼ÂÁõ¤Ç¤Ï¡¢ÇÛÎó¥Ñ¥é¥á¡¼¥¿¤ÏÃÍÅϤ· ¤Î¤ß¤Ç¤·¤¿¡£
function format
POSIX bc ¤Ç¤Ï¡¢³«¤¯¥Ö¥ì¡¼¥¹¤¬ define ¥­¡¼¥ï¡¼¥É¤ÈƱ¤¸¹Ô¤Ë¤¢¤ê¡¢ auto ʸ¤¬¼¡¤Î¹Ô¤Ë¤¢¤ë¤³¤È¤¬É¬ÍפǤ¹¡£
=+, =-, =*, =/, =%, =^
POSIX bc ¤Ç¤Ï¤³¤ì¤é¤Î¡Öµì¼°¡×¤ÎÂåÆþ±é»»»Ò¤òÄêµÁ¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£ ¤³¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï¤³¤ì¤é¤Î¡Öµì¼°¡×ÂåÆþ±é»»»Ò¤¬»È¤¨¤ë¤«¤âÃΤì¤Þ¤»¤ó¡£ limits ʸ¤ò»È¤Ã¤Æ¡¢¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¥Ð¡¼¥¸¥ç¥ó¤¬¤³¤ì¤é¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¤« ¤É¤¦¤«¡¢³Î¤«¤á¤Æ¤ß¤Æ²¼¤µ¤¤¡£ ¤â¤·¤½¤Î¥Ð¡¼¥¸¥ç¥ó¤¬¡Öµì¼°¡×ÂåÆþ±é»»»Ò¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ì¤Ð¡¢ ʸ "a =- 1" ¤Ï a ¤ËÃÍ -1 ¤òÂåÆþ¤¹¤ëÂå¤ï¤ê¤Ë a ¤ò 1 ¸º¤¸¤Þ¤¹¡£
¿ô»úɽµ­Ãæ¤Î¶õÇò
¾¤Î bc ¼ÂÁõ¤Ç¤Ï¡¢¿ô»úɽµ­¤ÎÃæ¤Ë¶õÇò¤ò´Þ¤á¤ë¤³¤È¤¬µö¤µ¤ì¤Þ¤¹¡£ Î㤨¤Ð¡¢"x=1 3" ¤ÏÊÑ¿ô x ¤ËÃÍ 13 ¤òÂåÆþ¤·¤Þ¤¹¡£ ¤³¤Î¥Ð¡¼¥¸¥ç¥ó¤Î bc ¤Ç¤Ï¡¢Àè¤Îʸ¤Ïʸˡ¥¨¥é¡¼¤Ë¤Ê¤ê¤Þ¤¹¡£
¥¨¥é¡¼¤È¼Â¹Ô
¤³¤Î¥Ð¡¼¥¸¥ç¥ó¤Î bc ¤Ï¡¢ ¥×¥í¥°¥é¥à¤Ëʸˡ¾å¤Î¥¨¥é¡¼¤ä¾¤Î¥¨¥é¡¼¤¬¸«¤Ä¤«¤Ã¤¿¾ì¹ç¤Ë ¤É¤¦¤¤¤¦¥³¡¼¥É¤¬¼Â¹Ô¤µ¤ì¤ë¤«¡¢ ¤È¤¤¤¦ÅÀ¤Ç¡¢Â¾¤Î¼ÂÁõ¤È°Û¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ ¤¢¤ë´Ø¿ôÄêµÁÃæ¤Çʸˡ¥¨¥é¡¼¤¬¸«¤Ä¤«¤ë¤È¡¢ ¥¨¥é¡¼²óÉüµ¡¹½¤Ïʸ¤ÎÀèƬ¤ò¸«¤Ä¤±¤Æ´Ø¿ô¤Î¥Ñ¡¼¥º¤ò³¤±¤è¤¦¤ÈÅØÎϤ·¤Þ¤¹¡£ ¤Ò¤È¤¿¤Ó´Ø¿ô¤ÎÃæ¤Çʸˡ¥¨¥é¡¼¤¬¸«¤Ä¤«¤ë¤È¡¢ ¤½¤Î´Ø¿ô¤Ï¸Æ¤Ó½Ð¤»¤Ê¤¯¤Ê¤ê¡¢Ì¤ÄêµÁ¾õÂ֤Ȥʤê¤Þ¤¹¡£ ÂÐÏÃŪ¼Â¹Ô¥³¡¼¥É¤Çʸˡ¥¨¥é¡¼¤¬¤¢¤ë¤È¡¢ ¸½ºß¤Î¼Â¹Ô¥Ö¥í¥Ã¥¯¤¬Ìµ¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£ ¼Â¹Ô¥Ö¥í¥Ã¥¯¤È¤Ï¡¢¤Ò¤È³¤­¤Î´°Á´¤Êʸ¤Î¤¢¤È¤Î¹ÔËö¤Þ¤Ç¤Î¤³¤È¤Ç¤¹¡£ Î㤨¤Ð¡¢¼¡¤Î¥³¡¼¥É

a = 1 b = 2


¤Ë¤Ï 2 ¤Ä¤Î¼Â¹Ô¥Ö¥í¥Ã¥¯¤¬¤¢¤ê¡¢

{ a = 1 b = 2 }


¤Ë¤Ï 1 ¤Ä¤Î¼Â¹Ô¥Ö¥í¥Ã¥¯¤¬¤¢¤ê¤Þ¤¹¡£ ¥é¥ó¥¿¥¤¥à¥¨¥é¡¼¤¬È¯À¸¤¹¤ë¤È¡¢¸½ºß¤Î¼Â¹Ô¥Ö¥í¥Ã¥¯¤Î¼Â¹Ô¤¬½ªÎ»¤·¤Þ¤¹¡£ ¥é¥ó¥¿¥¤¥à¤Î·Ù¹ð¤¬È¯À¸¤·¤Æ¤â¡¢¸½ºß¤Î¼Â¹Ô¥Ö¥í¥Ã¥¯¤Ï½ªÎ»¤·¤Þ¤»¤ó¡£
³ä¤ê¹þ¤ß
ÂÐÏÃ¥»¥Ã¥·¥ç¥ó¤Î´Ö¡¢SIGINT ¥·¥°¥Ê¥ë (Ä̾üËö¤«¤é¤Î Control-C ÆþÎÏ¤Ç È¯À¸¤·¤Þ¤¹) ¤Ë¤è¤Ã¤Æ¸½ºß¤Î¼Â¹Ô¥Ö¥í¥Ã¥¯¤Î¼Â¹Ô¤¬ÃæÃǤµ¤ì¡¢ ¤É¤Î´Ø¿ô¤¬ÃæÃǤµ¤ì¤¿¤«¤ò¼¨¤¹¡Ö¥é¥ó¥¿¥¤¥à¡×¥¨¥é¡¼¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ ¥é¥ó¥¿¥¤¥à¤Î¥Ç¡¼¥¿¹½Â¤¤ò¤¹¤Ù¤Æ¥¯¥ê¥¢¤·¤¿¸å¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¡¢ bc ¤Ï¼¡¤ÎÆþÎϤò¼õ¤±ÉÕ¤±¤ë¾õÂ֤ˤʤ俤³¤È¤ò¼¨¤·¤Þ¤¹¡£ ¤³¤ì¤Þ¤Ç¤ËÄêµÁ¤·¤¿´Ø¿ô¤Ï¤¹¤Ù¤ÆÄêµÁ¤µ¤ì¤Æ»Ä¤Ã¤Æ¤ª¤ê¡¢ ¥í¡¼¥«¥ë¤Ç¤Ê¤¤ÊÑ¿ô¤ÎÃͤϳä¤ê¹þ¤ßȯÀ¸»þÅÀ¤ÎÃͤΤޤޤˤʤäƤ¤¤Þ¤¹¡£ ¥í¡¼¥«¥ëÊÑ¿ô¤È´Ø¿ô¥Ñ¥é¥á¡¼¥¿¤Ï¤¹¤Ù¤Æ¡¢¥¯¥ê¥¢½èÍý¤Ë¤è¤Ã¤Æ¾Ãµî¤µ¤ì¤Þ¤¹¡£ ÈóÂÐÏÃ¥»¥Ã¥·¥ç¥ó¤Ç¤Ï¡¢SIGINT ¥·¥°¥Ê¥ë¤Ç bc ¤Î¼Â¹ÔÁ´ÂΤ¬½ªÎ»¤·¤Þ¤¹¡£

¸Â³¦

°Ê²¼¤Î¹àÌܤ¬¸½ºß¤Î bc ¥×¥í¥»¥Ã¥µ¤Î¸Â³¦ÃͤȤʤäƤ¤¤Þ¤¹¡£ ¤³¤Î¤¦¤Á¤¤¤¯¤Ä¤«¤Ï¡¢¥¤¥ó¥¹¥È¡¼¥ë»þ¤ËÊѹ¹¤Ç¤­¤Þ¤¹¡£ ¼ÂºÝ¤ÎÃͤòÆÀ¤ë¤Ë¤Ï limits ʸ¤ò»È¤Ã¤Æ²¼¤µ¤¤¡£
BC_BASE_MAX
¸½ºß¤Î¤È¤³¤í¡¢½ÐÎϤδð¿ô¤ÎºÇÂçÃÍ¤Ï 999 ¤ËÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£ ÆþÎϦ¤Î´ð¿ô¤ÎºÇÂçÃÍ¤Ï 16 ¤Ç¤¹¡£
BC_DIM_MAX
¸½ºß¤Î¤È¤³¤í 65535 ¤È¤·¤ÆÇÛÉÛ¤µ¤ì¤Æ¤¤¤Þ¤¹¤¬¡¢ ¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï°Û¤Ê¤Ã¤Æ¤¤¤ë¤«¤âÃΤì¤Þ¤»¤ó¡£
BC_SCALE_MAX
¾®¿ôÅÀ°Ê²¼¤Î·å¿ô¤Ï INT_MAX ·å¤ËÀ©¸Â¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ ¤Þ¤¿¡¢¾®¿ôÅÀ¤è¤ê¾å¤Î·å¿ô¤â INT_MAX ·å¤ËÀ©¸Â¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
BC_STRING_MAX
ʸ»úÎóÃæ¤Îʸ»ú¿ô¤Ï INT_MAX ʸ»ú¤ËÀ©¸Â¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
»Ø¿ô
Îß¾è±é»» (^) ¤Î»Ø¿ô¤ÎÃÍ¤Ï LONG_MAX ¤ËÀ©¸Â¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
ÊÑ¿ô̾
ñ½ãÊÑ¿ô¡¢ÇÛÎó¡¢´Ø¿ô³Æ¡¹¤Ë¤Ä¤¤¤Æ¡¢°ì°Õ¤Ë¼±Ê̤µ¤ì¤ë̾Á°¤Ï 32767 ¸Ä¤Ë À©¸Â¤µ¤ì¤Æ¤¤¤Þ¤¹¡£

´Ä¶­ÊÑ¿ô

bc ¤Ï°Ê²¼¤Î´Ä¶­ÊÑ¿ô¤ò²ò¼á¤·¤Þ¤¹¡£
POSIXLY_CORRECT
-s ¥ª¥×¥·¥ç¥ó¤ÈƱ¤¸¤Ç¤¹¡£
BC_ENV_ARGS
¤³¤ì¤Ï bc ¤Ë°ú¿ô¤òÅϤ¹Ê̤ÎÊýË¡¤Ç¡¢¥³¥Þ¥ó¥É¥é¥¤¥ó°ú¤­¿ô¤È Ʊ¤¸½ñ¼°¤Ç¤¹¡£¤³¤Î°ú¿ô¤¬ºÇ½é¤Ë½èÍý¤µ¤ì¤ë¤Î¤Ç¡¢¤³¤Î´Ä¶­ÊÑ¿ô¤Ç »ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ë¤Ï¥³¥Þ¥ó¥É¥é¥¤¥ó°ú¿ô¤Ç»ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ë¤è¤ê¤â Àè¤Ë½èÍý¤µ¤ì¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢Ëè²ó bc ¤ò¸Æ¤Ó½Ð¤¹¤´¤È¤Ë ½èÍý¤¹¤ë¡Öɸ½à¤Î¡×¥ª¥×¥·¥ç¥ó¤ä¥Õ¥¡¥¤¥ë¤òÀßÄê¤Ç¤­¤Þ¤¹¡£¤³¤Î´Ä¶­ÊÑ¿ô¤Ç »ØÄꤹ¤ë¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢bc ¤òÁö¤é¤»¤ë¤¿¤Ó¤ËÄêµÁ¤·¤Æ¤ª¤­¤¿¤¤¤è¤¦¤Ê ´Ø¿ô¤ÎÄêµÁ¤ò½ñ¤¤¤Æ¤ª¤¯¤È¤è¤¤¤Ç¤·¤ç¤¦¡£
BC_LINE_LENGTH
¿ô»ú¤ò½ÐÎϤ¹¤ë¤È¤­¤Î 1 ¹Ô¤Îʸ»ú¿ô¤òÀ°¿ô¤Ç»ØÄꤷ¤Þ¤¹¡£ ¿ô»ú¤¬Ä¹²á¤®¤ë¤È¡¢¥Ð¥Ã¥¯¥¹¥é¥Ã¥·¥å¤È²þ¹Ô¤ò´Þ¤á¤¿½ÐÎϤȤʤê¤Þ¤¹¡£

¿ÇÃÇ

¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç»ØÄꤷ¤¿¥Õ¥¡¥¤¥ë¤¬¥ª¡¼¥×¥ó¤Ç¤­¤Ê¤¤¾ì¹ç¡¢ bc ¤Ï¥Õ¥¡¥¤¥ë¤¬ÍøÍѤǤ­¤Ê¤¤»Ý¤òɽ¼¨¤·¤Æ½ªÎ»¤·¤Þ¤¹¡£ ¤Þ¤¿¡¢¥³¥ó¥Ñ¥¤¥ë»þ¤¢¤ë¤¤¤Ï¥é¥ó¥¿¥¤¥à¤Î¿ÇÃÇ¥á¥Ã¥»¡¼¥¸¤â¤¢¤ê¤Þ¤¹¤¬¡¢ ¤½¤ì¤é¤Ï¼«¿È¤ÇÍý²ò¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤Ï¤º¤Ç¤¹¡£

¥Ð¥°

¥¨¥é¡¼¥ê¥«¥Ð¥ê¤¬¤Þ¤À¤¦¤Þ¤¯¤¤¤Ã¤Æ¤¤¤Þ¤»¤ó¡£

¥Ð¥°Êó¹ð¤Ï¡¢ bug-bc@gnu.org ¤ËÅŻҥ᡼¥ë¤Ç¤ª´ê¤¤¤·¤Þ¤¹¡£ ñ¸ì ``bc'' ¤ò ``Subject:'' ¥Õ¥£¡¼¥ë¥É¤Î¤É¤³¤«¤ËÆþ¤ì¤Æ¤ª¤¤¤Æ¤¯¤À¤µ¤¤¡£

ºî¼Ô


Philip A. Nelson

philnelson@acm.org

¼Õ¼­

¼ÂÁõ¤ò¥Æ¥¹¥È¤¹¤ëºÝ¤Ë ¹­ÈϰϤ˼ê½õ¤±¤·¤Æ¤¯¤ì¤¿ Steve Sommars (Steve.Sommars@att.com) ¤Ë´¶¼Õ¤·¤Þ¤¹¡£ ¤¿¤¯¤µ¤ó¤ÎÁÇÀ²¤é¤·¤¤°Õ¸«¤ò¤â¤é¤¤¤Þ¤·¤¿¡£ Èà¤Î¤ª¤«¤²¤Ç¤È¤Æ¤â¤è¤¤¤â¤Î¤Ë¤Ê¤ê¤Þ¤·¤¿¡£