- 1 1. Cèšèªã§å°æ°ç¹ãæ±ãéã®åºç€ç¥èãšéèŠæ§
- 2 2. Cèšèªã«ãããæµ®åå°æ°ç¹æ°åã®æŠèŠ
- 3 3. å°æ°ç¹ä»¥äžã®æ¡æ°ãæå®ããŠè¡šç€ºããæ¹æ³
- 4 4. æµ®åå°æ°ç¹èšç®ã«ãããæ³šæç¹
- 4.1 4.1 äžžã誀差ãšã¯ïŒ
- 4.2 4.2 粟床ã®éçãšãã®åœ±é¿
- 4.3 4.3 æµ®åå°æ°ç¹æ°ã®æ¯èŒæ¹æ³
- 4.4 4.4 ç¹°ãè¿ãèšç®ã§ã®èª€å·®èç©
- 4.5 4.1 äžžã誀差ãšã¯ïŒ
- 4.6 4.2 粟床ã®éçãšãã®åœ±é¿
- 4.7 4.3 æµ®åå°æ°ç¹æ°ã®æ¯èŒæ¹æ³
- 4.8 4.4 ç¹°ãè¿ãèšç®ã§ã®èª€å·®èç©
- 4.9 4.1 äžžã誀差ãšã¯ïŒ
- 4.10 4.2 粟床ã®éçãšãã®åœ±é¿
- 4.11 4.3 æµ®åå°æ°ç¹æ°ã®æ¯èŒæ¹æ³
- 4.12 4.4 ç¹°ãè¿ãèšç®ã§ã®èª€å·®èç©
- 5 5. Cèšèªã®æšæºã©ã€ãã©ãªã掻çšããèšç®æ¹æ³
- 6 6. å¿çšäŸïŒå°æ°ç¹ä»¥äžã®æ¡æ°ãæããåºåãã©ãŒããã
- 7 7. ãŸãšããšæ³šæäºé
1. Cèšèªã§å°æ°ç¹ãæ±ãéã®åºç€ç¥èãšéèŠæ§
Cèšèªã¯ãäœã¬ãã«ãªå¶åŸ¡ãå¯èœãªããã°ã©ãã³ã°èšèªã§ãããç¹ã«æ°å€èšç®ã®ç²ŸåºŠãå¹çãå³å¯ã«ã³ã³ãããŒã«ããå¿ èŠãããå Žé¢ã§æŽ»çšãããŸãããã®äžã§ãå°æ°ç¹ä»¥äžã®æ°å€ãæ£ç¢ºã«æ±ãããšã¯éåžžã«éèŠã§ããæµ®åå°æ°ç¹æ°ïŒå°æ°ãå«ãæ°å€ïŒã®èšç®ã衚瀺ã¯ãç§åŠæè¡èšç®ãéèåéãã°ã©ãã£ãã¯åŠçãªã©ãå€ãã®å Žé¢ã§æ±ããããŸãããCèšèªã§å°æ°ç¹ãæ±ãã«ã¯ããã€ãã®ãã€ã³ããšæ³šæç¹ããããŸãã
ãªãå°æ°ç¹ä»¥äžã®æ±ããéèŠãïŒ
å°æ°ç¹ãå«ãèšç®ãæ£ç¢ºã«è¡ãããšã¯ãç¹ã«ä»¥äžã®ãããªå Žé¢ã§äžå¯æ¬ ã§ãïŒ
- ç§åŠæè¡èšç®ïŒã·ãã¥ã¬ãŒã·ã§ã³ãç©çæŒç®ãªã©ã埮å°ãªèª€å·®ãæçµçãªçµæã«å€§ããªåœ±é¿ãäžããå ŽåããããŸãã
- éèèšç®ïŒæ ªåŒãçºæ¿ãªã©ã®èšç®ã§å°æ°ç¹ä»¥äžã®æ¡æ°ã«ææã§ãæ£ç¢ºãªæ°å€åŠçãå¿ èŠã§ãã
- ã°ã©ãã£ãã¯èšç®ïŒã³ã³ãã¥ãŒã¿ã²ãŒã ãCGå¶äœã«ãããŠãæµ®åå°æ°ç¹æ°ã®èšç®ã¯ç²Ÿå¯ãªäœçœ®ã圢ç¶ã®èšç®ã«äœ¿çšãããŸãã
Cèšèªã§ã¯ãæ°å€ã®è¡šçŸã«ã¯ floatãdoubleãlong double ã®3çš®é¡ã®æµ®åå°æ°ç¹æ°åãæäŸãããŠããŸãããããã®åã¯ãç°ãªã粟床ãšã¡ã¢ãªäœ¿çšéãæã¡ãçšéã«å¿ããé©åãªéžæãæ±ããããŸããé©åãªåãéžã°ãªããšãã¡ã¢ãªã®ç¡é§é£ããèšç®ç²ŸåºŠã®äžè¶³ã«ãã誀差ãçºçããå¯èœæ§ããããŸãã
ãã®èšäºã®ç®çãšå 容
æ¬èšäºã§ã¯ãCèšèªã§å°æ°ç¹ãæ£ç¢ºã«æ±ãããã®åºæ¬çãªæ¹æ³ããå¿çšãã¯ããã¯ãŸã§ãäœç³»çã«èª¬æããŠãããŸããæµ®åå°æ°ç¹æ°ã®ããŒã¿åã«ã€ããŠã®åºç€ããå§ãŸããå®éã®èšç®ãè¡šç€ºã®æ¹æ³ã粟床ãå¶åŸ¡ããæ¹æ³ãæšæºã©ã€ãã©ãªã®æŽ»çšãŸã§å¹ åºãã«ããŒããŸãããŸãã粟床ã®éçãäžžã誀差ã«é¢ããæ³šæç¹ã䜵ããŠè§£èª¬ããŸãã
æ¬èšäºãéããŠã以äžã®ç¥èã身ã«ã€ããããšãã§ããŸãïŒ
- åæµ®åå°æ°ç¹æ°åã®ç¹åŸŽãšäœ¿ãåãã®æ¹æ³
printf
颿°ã䜿ã£ãå°æ°ç¹ä»¥äžã®æ¡æ°æå®ãšè¡šç€ºæ¹æ³- æµ®åå°æ°ç¹èšç®æã®ç²ŸåºŠãèª€å·®ã®æ³šæç¹ãšå¯Ÿç
- æšæºã©ã€ãã©ãªã掻çšããè€éãªæ°å€èšç®ã®å¹çå
ãã®èšäºã®å 容ããã¹ã¿ãŒããããšã§ãCèšèªã§ç²ŸåºŠã®é«ãå°æ°ç¹ã®åŠçãå®çŸããããä¿¡é Œæ§ã®é«ãããã°ã©ã ãäœæã§ããããã«ãªããŸãã

2. Cèšèªã«ãããæµ®åå°æ°ç¹æ°åã®æŠèŠ
Cèšèªã§ã¯ãå°æ°ç¹ãæ±ãéã« floatãdoubleãããã³ long double ã®3çš®é¡ã®æµ®åå°æ°ç¹æ°åã䜿çšãããŸããåããŒã¿åã¯ç°ãªã粟床ãšã¡ã¢ãªäœ¿çšéãæã¡ãçšéãèšç®ã®æ£ç¢ºæ§ã«å¿ããŠäœ¿ãåããå¿ èŠããããŸããããã§ã¯ãåããŒã¿åã®ç¹åŸŽãšãå®éã«ã©ã®ãããªå Žé¢ã§æŽ»çšããã¹ããã«ã€ããŠè§£èª¬ããŸãã
2.1 floatå
float åã¯32ãããã®ã¡ã¢ãªã䜿çšããçŽ7æ¡ã®ç²ŸåºŠãæã€æµ®åå°æ°ç¹æ°åã§ããfloat
åã¯ããªãœãŒã¹ã«å¶çŽã®ããçµã¿èŸŒã¿ã·ã¹ãã ããå°ãã®èª€å·®ãåé¡ãšãªããªãèšç®ã§äœ¿çšãããããšãå€ãã§ãã
#include <stdio.h>
int main() {
float num = 3.1415926535f;
printf("floatåã®å€ (å°æ°ç¹ä»¥äž7æ¡): %.7f
", num);
return 0;
}
åºåçµæ:
floatåã®å€ (å°æ°ç¹ä»¥äž7æ¡): 3.141593
float
åã¯ã¡ã¢ãªäœ¿çšéãå°ãªãããããªãœãŒã¹ãéãããç°å¢ã§å¹æçã§ããã粟床ãå¿
èŠãªå Žåã«ã¯äžåãã§ããäŸãã°ãã·ã³ãã«ãªã°ã©ãã£ãã¯åŠçããªã¢ã«ã¿ã€ã èšç®ã«ãããŠåœ¹ç«ã¡ãŸãã
2.2 doubleå
double åã¯64ãããã®ã¡ã¢ãªã䜿çšããçŽ15æ¡ã®ç²ŸåºŠãæã¡ãŸãããã®åã¯ãCèšèªã§æãäžè¬çã«äœ¿ãããæµ®åå°æ°ç¹æ°åã§ãå€ãã®ç§åŠæè¡èšç®ãäžè¬çãªæ°å€èšç®ã«å¯Ÿå¿ã§ããŸããdouble
åã¯ã粟床ãšå¹çã®ãã©ã³ã¹ãåããŠãããããå€ãã®ã¢ããªã±ãŒã·ã§ã³ã§æšæºãšããŠæ¡çšãããŠããŸãã
#include <stdio.h>
int main() {
double num = 3.141592653589793;
printf("doubleåã®å€ (å°æ°ç¹ä»¥äž15æ¡): %.15f
", num);
return 0;
}
åºåçµæ:
doubleåã®å€ (å°æ°ç¹ä»¥äž15æ¡): 3.141592653589793
double
åã¯ãæ°å€èšç®ã®ç²ŸåºŠãèŠæ±ãããå Žé¢ã§éåžžã«åœ¹ç«ã¡ãŸããéèèšç®ãç²Ÿå¯æ©æ¢°ã®ã·ãã¥ã¬ãŒã·ã§ã³ãªã©ãä¿¡é Œæ§ã®é«ãçµæãæ±ããããããã°ã©ã ã§äž»ã«äœ¿çšãããŸãã
2.3 long doubleå
long double åã¯ãäžè¬çã«128ãããã®ã¡ã¢ãªã䜿çšãã18æ¡ä»¥äžã®ç²ŸåºŠãæã€å Žåãå€ãããŒã¿åã§ãïŒã·ã¹ãã ãã³ã³ãã€ã©ã«ããç°ãªãå ŽåããããŸãïŒã粟床ãç¹ã«éèŠèŠãããèšç®ã«é©ããŠãããç©çã·ãã¥ã¬ãŒã·ã§ã³ã粟å¯ãªããŒã¿è§£æã§äœ¿çšãããŸãã
#include <stdio.h>
int main() {
long double num = 3.141592653589793238462643383279L;
printf("long doubleåã®å€ (å°æ°ç¹ä»¥äž18æ¡): %.18Lf
", num);
return 0;
}
åºåçµæ:
long doubleåã®å€ (å°æ°ç¹ä»¥äž18æ¡): 3.141592653589793238
long double
åã¯ãdouble
å以äžã®ç²ŸåºŠãå¿
èŠãªã±ãŒã¹ã§äœ¿çšãããŸããç§åŠèšç®ãé«ç²ŸåºŠã®éèã·ãã¥ã¬ãŒã·ã§ã³ãªã©ã誀差ã®èç©ã極åæãããåéã§æå¹ã§ãã
2.4 ããŒã¿åã®éžæåºæºãšçšé
以äžã¯ãåããŒã¿åã®ç¹åŸŽãšçšéã®æ¯èŒã§ããçšéã«å¿ããé©åãªããŒã¿åãéžæããããšã§ãã¡ã¢ãªå¹çãèšç®ã®ç²ŸåºŠãæé©åã§ããŸãã
ããŒã¿å | ã¡ã¢ãªãµã€ãº | 粟床 (æå¹æ¡æ°) | äž»ãªçšé |
---|---|---|---|
float | 32ããã | çŽ7æ¡ | ãªãœãŒã¹ãå¶éãããçµã¿èŸŒã¿ã·ã¹ãã ããªã¢ã«ã¿ã€ã èšç® |
double | 64ããã | çŽ15æ¡ | äžè¬çãªæ°å€èšç®ãç§åŠæè¡èšç® |
long double | 128ããã | 18æ¡ä»¥äž | é«ç²ŸåºŠãèŠæ±ãããèšç®ãç§åŠåéãé«ç²ŸåºŠéèåæ |
é©åãªããŒã¿åãéžæãããã€ã³ã
- 粟床ãå¿
èŠãšãããïŒç²ŸåºŠãæ±ããããèšç®ã§ã¯
double
ãlong double
ãé©ããŠãããå¿ èŠã®ãªãå Žåã¯ã¡ã¢ãªå¹çãèæ ®ããŠfloat
ã广çã§ãã - ã·ã¹ãã ã®ãªãœãŒã¹å¶çŽïŒçµã¿èŸŒã¿ã·ã¹ãã ãªã©ã¡ã¢ãªå¶çŽãå³ããç°å¢ã§ã¯ã
float
åãåªå ãããšå¹çãåäžããŸãã - èšç®é床ãšç²ŸåºŠã®ãã©ã³ã¹ïŒå€ãã®ããã°ã©ã ã§
double
åãæšæºãšããã粟床ãšã¡ã¢ãªå¹çã®ãã©ã³ã¹ãåããŠããããæšå¥šãããŸãã

3. å°æ°ç¹ä»¥äžã®æ¡æ°ãæå®ããŠè¡šç€ºããæ¹æ³
Cèšèªã®printf
颿°ã¯ãæµ®åå°æ°ç¹æ°ã®å°æ°ç¹ä»¥äžã®æ¡æ°ãæå®ããŠåºåã§ãã䟿å©ãªæ©èœãæäŸããŠããŸããè¡šç€ºã®æ¡æ°ããã©ãŒãããã調æŽããããšã§ãæ°å€ããŒã¿ã®èŠããããæ£ç¢ºããåäžãããããšãå¯èœã§ãããã®ã»ã¯ã·ã§ã³ã§ã¯ãããŸããŸãªãã©ãŒãããæå®ã®æ¹æ³ãšãã®æŽ»çšäŸã解説ããŸãã
3.1 åºæ¬çãªæžåŒæå®ïŒ%.nf
å°æ°ç¹ä»¥äžã®æ¡æ°ãæå®ããããã«ã¯ãæžåŒæå®å %.nf
ã䜿ããŸããããã§ãn
ã«ã¯è¡šç€ºããæ¡æ°ãæå®ããŸããäŸãã°ãå°æ°ç¹ä»¥äž2æ¡ãš4æ¡ã§æ°å€ã衚瀺ããå Žåãæ¬¡ã®ã³ãŒãã®ããã«æå®ã§ããŸãã
#include <stdio.h>
int main() {
float number = 123.456789;
printf("å°æ°ç¹ä»¥äž2æ¡: %.2f\n", number);
printf("å°æ°ç¹ä»¥äž4æ¡: %.4f\n", number);
return 0;
}
åºåçµæã¯æ¬¡ã®ããã«ãªããŸãã
å°æ°ç¹ä»¥äž2æ¡: 123.46
å°æ°ç¹ä»¥äž4æ¡: 123.4568
ãã®ããã«ã%.2f
ãš %.4f
ã䜿çšãããšãå°æ°ç¹ä»¥äžã®æå®ããæ¡æ°ã§è¡šç€ºãããåæšäºå
¥ããããããèŠãããçµæãåŸãããŸãããã®ææ³ã¯ãç§åŠæè¡èšç®ã財åå ±åãªã©ãæ£ç¢ºãªæ¡æ°ã§åºåããå¿
èŠãããå Žé¢ã§åœ¹ç«ã¡ãŸãã
3.2 ææ°åœ¢åŒã§ã®æ¡æ°æå®ïŒ%.ne ãš %.nE
æµ®åå°æ°ç¹æ°ãææ°åœ¢åŒã§è¡šç€ºãããå Žåã¯ã%.ne
ã %.nE
ã䜿çšããŸããå°æåã® e
ã䜿ããšå°æåã®ææ°åœ¢åŒãã倧æåã® E
ã䜿ããšå€§æåã®ææ°åœ¢åŒã§åºåãããŸãã
#include <stdio.h>
int main() {
float number = 123.456789;
printf("ææ°åœ¢åŒ (å°æ°ç¹ä»¥äž2æ¡): %.2e\n", number);
printf("ææ°åœ¢åŒ (å°æ°ç¹ä»¥äž4æ¡): %.4E\n", number);
return 0;
}
ãã®ããã°ã©ã ãå®è¡ãããšã以äžã®ãããªåºåãåŸãããŸãã
ææ°åœ¢åŒ (å°æ°ç¹ä»¥äž2æ¡): 1.23e+02
ææ°åœ¢åŒ (å°æ°ç¹ä»¥äž4æ¡): 1.2346E+02
ææ°åœ¢åŒã¯ãéåžžã«å€§ããªæ°ãå°ããªæ°ãæ±ãéã«æå¹ã§ããããã«ãããæ°å€ãç瞮衚瀺ãããå¯èªæ§ãåäžããŸãã
3.3 èªåéžæåœ¢åŒïŒ%.ng ãš %.nG
æ°å€ã®å€§ããã«å¿ããŠãé垞圢åŒãšææ°åœ¢åŒãèªåçã«åãæ¿ããæ¹æ³ãšããŠã%.ng
ã %.nG
ã䜿ãããšãã§ããŸããæå®ããæ¡æ°ã«å¿ããŠãæé©ãªåœ¢åŒãèªåçã«éžã°ãããããèŠããããæãªããã«å¹
åºãæ°å€ã衚瀺ããããšãå¯èœã§ãã
#include <stdio.h>
int main() {
float number1 = 123.456789;
float number2 = 0.0000123456789;
printf("èªåéžæåœ¢åŒ (å°æ°ç¹ä»¥äž2æ¡): %.2g\n", number1);
printf("èªåéžæåœ¢åŒ (å°æ°ç¹ä»¥äž4æ¡): %.4g\n", number2);
return 0;
}
åºåçµæ:
èªåéžæåœ¢åŒ (å°æ°ç¹ä»¥äž2æ¡): 1.2e+02
èªåéžæåœ¢åŒ (å°æ°ç¹ä»¥äž4æ¡): 1.235e-05
ãã®ããã« %.2g
ã %.4g
ã䜿çšãããšãå°æ°ç¹ä»¥äžã®æ¡æ°ãèªåçã«æé©ãªè¡šç€ºåœ¢åŒã«éžæãããããŸããŸãªæ°å€ã«å¯ŸããŠèŠãããçµæãåŸãããŸãã
3.4 å¿çšäŸïŒãã©ãŒãããæå®ãš0åã衚瀺
ããŒã¿ãããããŠè¡šç€ºãããå Žåãå
šäœã®æ¡æ°ãæå®ããããšã§0åããè¡ãããšãå¯èœã§ããäŸãã°ã%07.3f
ã®ããã«æå®ãããšãæ°å€ãå°æ°ç¹ä»¥äž3æ¡ã§è¡šç€ºãããå
šäœã®å¹
ã7æ¡ã«ãªããŸã§åã«ãŒããåããããŸãã
#include <stdio.h>
int main() {
float number1 = 1.001;
printf("0åãæå® (å¹
7ãå°æ°ç¹ä»¥äž3æ¡): %07.3f\n", number1);
return 0;
}
åºå:
0åãæå® (å¹
7ãå°æ°ç¹ä»¥äž3æ¡): 001.001
ãã®æ¹æ³ã¯ãæ°å€ã®æŽåãæ±ããããå Žé¢ã§ç¹ã«æçšã§ãããæ°å€ãªã¹ãã衚圢åŒã®åºåã§èŠãããã確ä¿ããã®ã«åœ¹ç«ã¡ãŸãã

4. æµ®åå°æ°ç¹èšç®ã«ãããæ³šæç¹
æµ®åå°æ°ç¹æ°ãCèšèªã§æ±ãéã«ã¯ãäžžã誀差ã粟床ã®éçãªã©ãããŸããŸãªæ³šæç¹ããããŸããããããç¡èŠãããšãèšç®çµæã«äºæãã¬èª€å·®ãçããããã°ã©ã ã®ä¿¡é Œæ§ã«åœ±é¿ãåãŒãå¯èœæ§ããããŸãããã®ã»ã¯ã·ã§ã³ã§ã¯ãæµ®åå°æ°ç¹æ°ãèšç®ããéã«ç¹ã«çæãã¹ããã€ã³ããšããã®å¯Ÿçã«ã€ããŠè©³ãã解説ããŸãã
4.1 äžžã誀差ãšã¯ïŒ
æµ®åå°æ°ç¹æ°ã¯æéã®ãããæ°ã§è¡šçŸããããããèšç®çµæãå³å¯ãªå€ã§ã¯ãªãããããã«ç°ãªãæ°å€ãšãªãå ŽåããããŸãããããäžžã誀差ãšåŒã³ãç¹ã«å°æ°ç¹ä»¥äžãé·ãç¶ãæ°å€ã§ã¯åœ±é¿ã倧ãããªããŸããããšãã°ã0.1 + 0.2
ã®çµæãçè«äžã¯ 0.3
ã§ããã¹ãã§ãããå®éã«ã¯ç°ãªãå€ãåºåãããããšããããŸãã
#include <stdio.h>
int main() {
float a = 0.1f;
float b = 0.2f;
float sum = a + b;
printf("äžžã誀差ã®åœ±é¿: %f\n", sum); // åºåã¯çæ³éãã®0.3ã§ãªãå Žåããã
return 0;
}
ãã®äŸã®ããã«ãäžžã誀差ãçºçãããšèšç®çµæãæåŸ å€ãšç°ãªãå ŽåããããŸãããã®èª€å·®ã¯ç¹°ãè¿ãèšç®ã环ç©èšç®ã§ç¹ã«é¡èã§ãã
4.2 粟床ã®éçãšãã®åœ±é¿
æµ®åå°æ°ç¹æ°åã«ã¯ããããã粟床ã®éçããããŸããããšãã°ãfloat
åã¯çŽ7æ¡ãdouble
åã¯çŽ15æ¡ãlong double
åã¯18æ¡ä»¥äžã®ç²ŸåºŠãæã¡ãŸãããæ¥µç«¯ã«å€§ããæ°ãå°ããæ°ãæ±ããšèª€å·®ãçãããããªããŸãã
#include <stdio.h>
int main() {
double largeValue = 1.0e308;
double smallValue = 1.0e-308;
double result = largeValue + smallValue;
printf("粟床ã®éç: %lf\n", result); // å°ããå€ãç¡èŠãããå Žåããã
return 0;
}
äžèšã®ã³ãŒãã§ã¯ã1.0e308
ã®ãããªå€§ããªæ°ãš 1.0e-308
ã®å°ããªæ°ãå ç®ããŠããŸãããsmallValue
ãèšç®ã«åæ ãããã粟床ãäžè¶³ããã±ãŒã¹ã§ããæ¥µç«¯ãªæ°å€ã®å ç®ãæžç®ã§ã¯ã粟床ã®éçãçè§£ããäžã§ããŒã¿åãéžæããå¿
èŠããããŸãã
4.3 æµ®åå°æ°ç¹æ°ã®æ¯èŒæ¹æ³
æµ®åå°æ°ç¹æ°å士ã®çŽæ¥æ¯èŒã¯ãäžžã誀差ã®åœ±é¿ã§æåŸ
éãã®çµæãåŸãããªãå Žåãå€ããããçŽæ¥æ¯èŒã¯é¿ããã¹ãã§ããäŸãã°ã0.1 + 0.2
ã 0.3
ãšæ¯èŒããéã誀差ãåå ã§ãçãããªãããšå€å®ãããããšããããŸãããã®ãããªå Žåã¯ãã€ãã·ãã³ïŒepsilonïŒãšåŒã°ããå°ããªå€ã䜿ã£ãæ¯èŒãè¡ããšå¹æçã§ãã
#include <stdio.h>
#include <math.h>
int main() {
double d = 0.1;
double e = 0.2;
double f = d + e;
double epsilon = 1e-9;
if (fabs(f - 0.3) < epsilon) {
printf("fã¯0.3ã«éåžžã«è¿ãã§ã\n");
} else {
printf("fã¯0.3ã§ã¯ãããŸãã\n");
}
return 0;
}
ãã®äŸã§ã¯ãfabs(f - 0.3) < epsilon
ãšããæ¡ä»¶ãçšããããšã§ãf
ã 0.3
ã«éåžžã«è¿ãå Žåã«ãçããããšå€å®ããŠããŸããããã«ããã誀差ã®åœ±é¿ãæå°éã«æããæ£ç¢ºãªæ¯èŒãå¯èœãšãªããŸãã
4.4 ç¹°ãè¿ãèšç®ã§ã®èª€å·®èç©
æµ®åå°æ°ç¹æ°ãç¹°ãè¿ã䜿çšããã«ãŒãèšç®ã§ã¯ãäžžã誀差ãèç©ããèšç®çµæã«å€§ããªåœ±é¿ãäžããããšããããŸããããšãã°ãè€æ°åã®å ç®ãæžç®ãç¹°ãè¿ãåŠçã§ã¯èª€å·®ãèç©ããããããªããŸãã粟床ãèŠæ±ãããå Žåã¯ãããŒã¿åã®éžæãèšç®æ¹æ³ã工倫ããããšã§èª€å·®ãæããããšãå¯èœã§ãã
æµ®åå°æ°ç¹æ°ãCèšèªã§æ±ãéã«ã¯ãäžžã誀差ã粟床ã®éçãªã©ãããŸããŸãªæ³šæç¹ããããŸããããããç¡èŠãããšãèšç®çµæã«äºæãã¬èª€å·®ãçããããã°ã©ã ã®ä¿¡é Œæ§ã«åœ±é¿ãåãŒãå¯èœæ§ããããŸãããã®ã»ã¯ã·ã§ã³ã§ã¯ãæµ®åå°æ°ç¹æ°ãèšç®ããéã«ç¹ã«çæãã¹ããã€ã³ããšããã®å¯Ÿçã«ã€ããŠè©³ãã解説ããŸãã
4.1 äžžã誀差ãšã¯ïŒ
æµ®åå°æ°ç¹æ°ã¯æéã®ãããæ°ã§è¡šçŸããããããèšç®çµæãå³å¯ãªå€ã§ã¯ãªãããããã«ç°ãªãæ°å€ãšãªãå ŽåããããŸãããããäžžã誀差ãšåŒã³ãç¹ã«å°æ°ç¹ä»¥äžãé·ãç¶ãæ°å€ã§ã¯åœ±é¿ã倧ãããªããŸããããšãã°ã0.1 + 0.2
ã®çµæãçè«äžã¯ 0.3
ã§ããã¹ãã§ãããå®éã«ã¯ç°ãªãå€ãåºåãããããšããããŸãã
#include <stdio.h>
int main() {
float a = 0.1f;
float b = 0.2f;
float sum = a + b;
printf("äžžã誀差ã®åœ±é¿: %f\n", sum); // åºåã¯çæ³éãã®0.3ã§ãªãå Žåããã
return 0;
}
ãã®äŸã®ããã«ãäžžã誀差ãçºçãããšèšç®çµæãæåŸ å€ãšç°ãªãå ŽåããããŸãããã®èª€å·®ã¯ç¹°ãè¿ãèšç®ã环ç©èšç®ã§ç¹ã«é¡èã§ãã
4.2 粟床ã®éçãšãã®åœ±é¿
æµ®åå°æ°ç¹æ°åã«ã¯ããããã粟床ã®éçããããŸããããšãã°ãfloat
åã¯çŽ7æ¡ãdouble
åã¯çŽ15æ¡ãlong double
åã¯18æ¡ä»¥äžã®ç²ŸåºŠãæã¡ãŸãããæ¥µç«¯ã«å€§ããæ°ãå°ããæ°ãæ±ããšèª€å·®ãçãããããªããŸãã
#include <stdio.h>
int main() {
double largeValue = 1.0e308;
double smallValue = 1.0e-308;
double result = largeValue + smallValue;
printf("粟床ã®éç: %lf\n", result); // å°ããå€ãç¡èŠãããå Žåããã
return 0;
}
äžèšã®ã³ãŒãã§ã¯ã1.0e308
ã®ãããªå€§ããªæ°ãš 1.0e-308
ã®å°ããªæ°ãå ç®ããŠããŸãããsmallValue
ãèšç®ã«åæ ãããã粟床ãäžè¶³ããã±ãŒã¹ã§ããæ¥µç«¯ãªæ°å€ã®å ç®ãæžç®ã§ã¯ã粟床ã®éçãçè§£ããäžã§ããŒã¿åãéžæããå¿
èŠããããŸãã
4.3 æµ®åå°æ°ç¹æ°ã®æ¯èŒæ¹æ³
æµ®åå°æ°ç¹æ°å士ã®çŽæ¥æ¯èŒã¯ãäžžã誀差ã®åœ±é¿ã§æåŸ
éãã®çµæãåŸãããªãå Žåãå€ããããçŽæ¥æ¯èŒã¯é¿ããã¹ãã§ããäŸãã°ã0.1 + 0.2
ã 0.3
ãšæ¯èŒããéã誀差ãåå ã§ãçãããªãããšå€å®ãããããšããããŸãããã®ãããªå Žåã¯ãã€ãã·ãã³ïŒepsilonïŒãšåŒã°ããå°ããªå€ã䜿ã£ãæ¯èŒãè¡ããšå¹æçã§ãã
#include <stdio.h>
#include <math.h>
int main() {
double d = 0.1;
double e = 0.2;
double f = d + e;
double epsilon = 1e-9;
if (fabs(f - 0.3) < epsilon) {
printf("fã¯0.3ã«éåžžã«è¿ãã§ã\n");
} else {
printf("fã¯0.3ã§ã¯ãããŸãã\n");
}
return 0;
}
ãã®äŸã§ã¯ãfabs(f - 0.3) < epsilon
ãšããæ¡ä»¶ãçšããããšã§ãf
ã 0.3
ã«éåžžã«è¿ãå Žåã«ãçããããšå€å®ããŠããŸããããã«ããã誀差ã®åœ±é¿ãæå°éã«æããæ£ç¢ºãªæ¯èŒãå¯èœãšãªããŸãã
4.4 ç¹°ãè¿ãèšç®ã§ã®èª€å·®èç©
æµ®åå°æ°ç¹æ°ãç¹°ãè¿ã䜿çšããã«ãŒãèšç®ã§ã¯ãäžžã誀差ãèç©ããèšç®çµæã«å€§ããªåœ±é¿ãäžããããšããããŸããããšãã°ãè€æ°åã®å ç®ãæžç®ãç¹°ãè¿ãåŠçã§ã¯èª€å·®ãèç©ããããããªããŸãã粟床ãèŠæ±ãããå Žåã¯ãããŒã¿åã®éžæãèšç®æ¹æ³ã工倫ããããšã§èª€å·®ãæããããšãå¯èœã§ãã
æµ®åå°æ°ç¹æ°ãCèšèªã§æ±ãéã«ã¯ãäžžã誀差ã粟床ã®éçãªã©ãããŸããŸãªæ³šæç¹ããããŸããããããç¡èŠãããšãèšç®çµæã«äºæãã¬èª€å·®ãçããããã°ã©ã ã®ä¿¡é Œæ§ã«åœ±é¿ãåãŒãå¯èœæ§ããããŸãããã®ã»ã¯ã·ã§ã³ã§ã¯ãæµ®åå°æ°ç¹æ°ãèšç®ããéã«ç¹ã«çæãã¹ããã€ã³ããšããã®å¯Ÿçã«ã€ããŠè©³ãã解説ããŸãã
4.1 äžžã誀差ãšã¯ïŒ
æµ®åå°æ°ç¹æ°ã¯æéã®ãããæ°ã§è¡šçŸããããããèšç®çµæãå³å¯ãªå€ã§ã¯ãªãããããã«ç°ãªãæ°å€ãšãªãå ŽåããããŸãããããäžžã誀差ãšåŒã³ãç¹ã«å°æ°ç¹ä»¥äžãé·ãç¶ãæ°å€ã§ã¯åœ±é¿ã倧ãããªããŸããããšãã°ã0.1 + 0.2
ã®çµæãçè«äžã¯ 0.3
ã§ããã¹ãã§ãããå®éã«ã¯ç°ãªãå€ãåºåãããããšããããŸãã
#include <stdio.h>
int main() {
float a = 0.1f;
float b = 0.2f;
float sum = a + b;
printf("äžžã誀差ã®åœ±é¿: %f\n", sum); // åºåã¯çæ³éãã®0.3ã§ãªãå Žåããã
return 0;
}
ãã®äŸã®ããã«ãäžžã誀差ãçºçãããšèšç®çµæãæåŸ å€ãšç°ãªãå ŽåããããŸãããã®èª€å·®ã¯ç¹°ãè¿ãèšç®ã环ç©èšç®ã§ç¹ã«é¡èã§ãã
4.2 粟床ã®éçãšãã®åœ±é¿
æµ®åå°æ°ç¹æ°åã«ã¯ããããã粟床ã®éçããããŸããããšãã°ãfloat
åã¯çŽ7æ¡ãdouble
åã¯çŽ15æ¡ãlong double
åã¯18æ¡ä»¥äžã®ç²ŸåºŠãæã¡ãŸãããæ¥µç«¯ã«å€§ããæ°ãå°ããæ°ãæ±ããšèª€å·®ãçãããããªããŸãã
#include <stdio.h>
int main() {
double largeValue = 1.0e308;
double smallValue = 1.0e-308;
double result = largeValue + smallValue;
printf("粟床ã®éç: %lf\n", result); // å°ããå€ãç¡èŠãããå Žåããã
return 0;
}
äžèšã®ã³ãŒãã§ã¯ã1.0e308
ã®ãããªå€§ããªæ°ãš 1.0e-308
ã®å°ããªæ°ãå ç®ããŠããŸãããsmallValue
ãèšç®ã«åæ ãããã粟床ãäžè¶³ããã±ãŒã¹ã§ããæ¥µç«¯ãªæ°å€ã®å ç®ãæžç®ã§ã¯ã粟床ã®éçãçè§£ããäžã§ããŒã¿åãéžæããå¿
èŠããããŸãã
4.3 æµ®åå°æ°ç¹æ°ã®æ¯èŒæ¹æ³
æµ®åå°æ°ç¹æ°å士ã®çŽæ¥æ¯èŒã¯ãäžžã誀差ã®åœ±é¿ã§æåŸ
éãã®çµæãåŸãããªãå Žåãå€ããããçŽæ¥æ¯èŒã¯é¿ããã¹ãã§ããäŸãã°ã0.1 + 0.2
ã 0.3
ãšæ¯èŒããéã誀差ãåå ã§ãçãããªãããšå€å®ãããããšããããŸãããã®ãããªå Žåã¯ãã€ãã·ãã³ïŒepsilonïŒãšåŒã°ããå°ããªå€ã䜿ã£ãæ¯èŒãè¡ããšå¹æçã§ãã
#include <stdio.h>
#include <math.h>
int main() {
double d = 0.1;
double e = 0.2;
double f = d + e;
double epsilon = 1e-9;
if (fabs(f - 0.3) < epsilon) {
printf("fã¯0.3ã«éåžžã«è¿ãã§ã\n");
} else {
printf("fã¯0.3ã§ã¯ãããŸãã\n");
}
return 0;
}
ãã®äŸã§ã¯ãfabs(f - 0.3) < epsilon
ãšããæ¡ä»¶ãçšããããšã§ãf
ã 0.3
ã«éåžžã«è¿ãå Žåã«ãçããããšå€å®ããŠããŸããããã«ããã誀差ã®åœ±é¿ãæå°éã«æããæ£ç¢ºãªæ¯èŒãå¯èœãšãªããŸãã
4.4 ç¹°ãè¿ãèšç®ã§ã®èª€å·®èç©
æµ®åå°æ°ç¹æ°ãç¹°ãè¿ã䜿çšããã«ãŒãèšç®ã§ã¯ãäžžã誀差ãèç©ããèšç®çµæã«å€§ããªåœ±é¿ãäžããããšããããŸããããšãã°ãè€æ°åã®å ç®ãæžç®ãç¹°ãè¿ãåŠçã§ã¯èª€å·®ãèç©ããããããªããŸãã粟床ãèŠæ±ãããå Žåã¯ãããŒã¿åã®éžæãèšç®æ¹æ³ã工倫ããããšã§èª€å·®ãæããããšãå¯èœã§ãã

5. Cèšèªã®æšæºã©ã€ãã©ãªã掻çšããèšç®æ¹æ³
Cèšèªã«ã¯ãæµ®åå°æ°ç¹æ°ã®èšç®ããµããŒãããæ°å€ãã®é¢æ°ãæšæºã©ã€ãã©ãªã«çšæãããŠããŸããç¹ã« math.h
ã©ã€ãã©ãªã¯ãè€éãªæ°å€èšç®ãã·ã³ãã«ãã€å¹ççã«è¡ãããšãã§ããããã°ã©ã ã®ä¿¡é Œæ§ãå¯èªæ§ãåäžãããéèŠãªããŒã«ã§ãããã®ã»ã¯ã·ã§ã³ã§ã¯ãmath.h
ã«å«ãŸããäž»èŠãªé¢æ°ãšãã®äœ¿çšäŸã解説ããŸãã
5.1 å¹³æ¹æ ¹ãæ±ããïŒsqrt
颿°
sqrt
颿°ã¯ãæ°å€ã®å¹³æ¹æ ¹ãèšç®ããããã®é¢æ°ã§ããå¹³æ¹æ ¹ã¯ç©çèšç®ãã°ã©ãã£ãã¯åŠçãªã©ã®åéã§é »ç¹ã«äœ¿çšãããç°¡åã«æ£ç¢ºãªçµæãåŸãããŸãã
#include <stdio.h>
#include <math.h>
int main() {
double value = 16.0;
double result = sqrt(value);
printf("å¹³æ¹æ ¹: %f\n", result); // åºå: å¹³æ¹æ ¹: 4.000000
return 0;
}
5.2 ã¹ãä¹ãæ±ããïŒpow
颿°
pow
颿°ã¯ãåºæ°ãšææ°ãåŒæ°ãšããŠæå®ããããšã§ãã¹ãä¹èšç®ãè¡ããŸããã¹ãä¹èšç®ã¯ãç©çæŒç®ãã¢ã«ãŽãªãºã ã®å®è£
ã§å€ãå©çšãããèšç®å¹çã®åäžã«è²¢ç®ããŸãã
#include <stdio.h>
#include <math.h>
int main() {
double base = 3.0;
double exponent = 4.0;
double result = pow(base, exponent);
printf("ã¹ãä¹: %f\n", result); // åºå: ã¹ãä¹: 81.000000
return 0;
}
5.3 å°äœãæ±ããïŒfmod
颿°
fmod
颿°ã¯ãæµ®åå°æ°ç¹æ°å士ã®å°äœãèšç®ããããã®é¢æ°ã§ããæŽæ°ã«éå®ãããªãå°äœã®èšç®ã¯ãåšæçãªåŠçã座æšèšç®ãªã©ã§äœ¿çšãããŸãã
#include <stdio.h>
#include <math.h>
int main() {
double numerator = 5.5;
double denominator = 2.0;
double result = fmod(numerator, denominator);
printf("å°äœ: %f\n", result); // åºå: å°äœ: 1.500000
return 0;
}
5.4 絶察å€ãæ±ããïŒfabs
颿°
fabs
颿°ã¯æµ®åå°æ°ç¹æ°ã®çµ¶å¯Ÿå€ãèšç®ããããã«äœ¿çšãããŸããç¹ã«ã誀差ãèæ
®ããæ¯èŒããæ°å€ã®ç¬Šå·ãéèŠã§ãªãå Žé¢ã§å©çšãããããšãå€ãã§ãã
#include <stdio.h>
#include <math.h>
int main() {
double value = -5.75;
double result = fabs(value);
printf("絶察å€: %f\n", result); // åºå: 絶察å€: 5.750000
return 0;
}
ã

6. å¿çšäŸïŒå°æ°ç¹ä»¥äžã®æ¡æ°ãæããåºåãã©ãŒããã
Cèšèªã®printf
颿°ã§ã¯ãå°æ°ç¹ä»¥äžã®æ¡æ°ã ãã§ãªããå
šäœã®å¹
ã0åãã®æå®ãè¡ãããšã§ãããŒã¿ã®èŠãããã倧å¹
ã«åäžãããããšãã§ããŸããç¹ã«ã衚圢åŒã§ã®ããŒã¿è¡šç€ºãèŠèŠçãªæŽåãå¿
èŠãªå Žåã«ããã©ãŒãããæå®åãæŽ»çšããããšã圹ç«ã¡ãŸãããã®ã»ã¯ã·ã§ã³ã§ã¯ãåºåãæããããã®å
·äœçãªãã¯ããã¯ã解説ããŸãã
6.1 åºæ¬çãª0åãæå®
0åãã¯ãæ°å€ã®åã«ãŒãã远å ããŠå
šäœã®æ¡æ°ãæããæ¹æ³ã§ããããšãã°ã%07.3f
ã®ããã«æå®ãããšãæ°å€ãå°æ°ç¹ä»¥äž3æ¡ãŸã§è¡šç€ºãããå
šäœã®å¹
ã7æ¡ã«çµ±äžããããŸã§åã«ãŒãã远å ãããŸãã
#include <stdio.h>
int main() {
float number1 = 1.23;
float number2 = 123.456;
printf("0åãæå® (å¹
7ã»å°æ°ç¹ä»¥äž3æ¡): %07.3f\n", number1);
printf("0åãæå® (å¹
7ã»å°æ°ç¹ä»¥äž3æ¡): %07.3f\n", number2);
return 0;
}
åºåçµæã¯æ¬¡ã®éãã§ãã
0åãæå® (å¹
7ã»å°æ°ç¹ä»¥äž3æ¡): 001.230
0åãæå® (å¹
7ã»å°æ°ç¹ä»¥äž3æ¡): 123.456
6.2 å³å¯ãã»å·Šå¯ãã®æå®
printf
颿°ã®ãã©ãŒãããæå®åã§ã¯ãæ°å€ãå³å¯ãããŸãã¯å·Šå¯ãããæå®ãå¯èœã§ããå³å¯ãã¯æ°å€ãããã©ã«ãã®äœçœ®ã«é
眮ããŸãããå·Šå¯ãã«ããã«ã¯ããã©ãŒãããæå®åã®åã« -
ãä»ããããšã§å®çŸã§ããŸãã
#include <stdio.h>
int main() {
float number1 = 3.14159;
float number2 = 2.71828;
printf("å³å¯ãæå®: %10.3f\n", number1); // å
šäœå¹
10æ¡ã§å³å¯ã
printf("å·Šå¯ãæå®: %-10.3f\n", number2); // å
šäœå¹
10æ¡ã§å·Šå¯ã
return 0;
}
åºåçµæïŒ
å³å¯ãæå®: 3.142
å·Šå¯ãæå®: 2.718
6.3 æŽæ°éšåãšå°æ°ç¹ä»¥äžã®æ¡æ°ãã«ã¹ã¿ãã€ãº
æŽæ°éšåã®å¹
ãšå°æ°ç¹ä»¥äžã®æ¡æ°ãåå¥ã«æå®ããããšãå¯èœã§ããããšãã°ã%5.2f
ã®ããã«æå®ãããšãæŽæ°éšåã«5æ¡åã®å¹
ãåãã€ã€ãå°æ°ç¹ä»¥äž2æ¡ã§è¡šç€ºããããšãã§ããŸãã
#include <stdio.h>
int main() {
float number1 = 123.456;
float number2 = 78.9;
printf("ã«ã¹ã¿ãã€ãºããã衚瀺 (å¹
5ã»å°æ°ç¹ä»¥äž2æ¡): %5.2f\n", number1);
printf("ã«ã¹ã¿ãã€ãºããã衚瀺 (å¹
5ã»å°æ°ç¹ä»¥äž2æ¡): %5.2f\n", number2);
return 0;
}
åºåçµæïŒ
ã«ã¹ã¿ãã€ãºããã衚瀺 (å¹
5ã»å°æ°ç¹ä»¥äž2æ¡): 123.46
ã«ã¹ã¿ãã€ãºããã衚瀺 (å¹
5ã»å°æ°ç¹ä»¥äž2æ¡): 78.90
ãã®ãããªã«ã¹ã¿ãã€ãºãè¡ãããšã§ããã¹ãŠã®æ°å€ãçµ±äžãã©ãŒãããã§è¡šç€ºããããããç¹ã«è¡šåœ¢åŒã®ããŒã¿ã§æŽåãå¿ èŠãªå Žåã«å¹æçã§ããå°æ°ç¹ã®äœçœ®ãæããèŠãç®ããã£ãããšæŽçãããŸãã

7. ãŸãšããšæ³šæäºé
æ¬èšäºã§ã¯ãCèšèªã§æµ®åå°æ°ç¹æ°ãæ±ãããã®åºæ¬ããå¿çšãã¯ããã¯ãŸã§ãéèŠãªãã€ã³ããäœç³»çã«è§£èª¬ããŸãããå°æ°ç¹ä»¥äžã®æ¡æ°ãæå®ããŠåºåããæ¹æ³ãèšç®æã®ç²ŸåºŠã®åãæ±ãããŸã math.h
ã©ã€ãã©ãªã掻çšããæ°å€èšç®ã®å¹çåã«ã€ããŠãè§Šããå®è·µçãªããã°ã©ã èšèšã«åœ¹ç«ã€ç¥èãæäŸããŠããŸãã以äžã«ãåã»ã¯ã·ã§ã³ã®èŠç¹ãšæµ®åå°æ°ç¹æ°ãæ±ãéã®éèŠãªæ³šæç¹ããŸãšããŸãã
7.1 éèŠãªãã€ã³ãã®ãŸãšã
- æµ®åå°æ°ç¹æ°åã®éžæ
Cèšèªã«ã¯float
ãdouble
ãlong double
ã®3ã€ã®æµ®åå°æ°ç¹æ°åããããçšéãå¿ èŠãªç²ŸåºŠã«å¿ããŠäœ¿ãåããããšã倧åã§ããfloat
åã¯ç²ŸåºŠãå¿ èŠã§ãªãå Žåãdouble
ã¯äžè¬çãªæ°å€èšç®ã«ãlong double
ã¯é«ç²ŸåºŠãæ±ããããå Žåã«é©ããŠããŸãã - å°æ°ç¹ä»¥äžã®æ¡æ°æå®
printf
颿°ã§%.nf
ã%.ne
ã%.ng
ãªã©ãçšããããšã§ãå°æ°ç¹ä»¥äžã®æ¡æ°ã衚瀺圢åŒãæå®ã§ããŸããããã¯ããŒã¿ã®èŠãããã粟床ãé«ããããã«å¹æçã§ãã - 粟床ãšèª€å·®ã®å¶åŸ¡
äžžã誀差ã粟床ã®éçã«å¯Ÿããçè§£ãå¿ èŠã§ããç¹ã«ãæ°å€æ¯èŒã«ã¯ã€ãã·ãã³ïŒepsilonïŒãçšããããšã§ãèšç®èª€å·®ãèæ ®ããå®å šãªæ¯èŒãå®çŸã§ããŸãã - æšæºã©ã€ãã©ãªã®æŽ»çš
math.h
ã«å«ãŸããsqrt
ãpow
ãfmod
ãfabs
ãªã©ã®é¢æ°ã䜿çšããããšã§ãè€éãªæ°å€èšç®ã簡䟿ã«å®è£ ã§ããä¿¡é Œæ§ã®é«ãããã°ã©ã ãäœæã§ããŸãã - ãã©ãŒãããã®å¿çš
å°æ°ç¹ä»¥äžã®æ¡æ°ãå šäœã®å¹ ãæå®ãã0åããå³å¯ããå·Šå¯ããæŽ»çšããããšã§ãããŒã¿ã®èŠèŠçãªæŽåãå¯èœã«ãªããŸããããã«ããã衚圢åŒã®ããŒã¿ãèŠãããæŽçã§ããèªã¿æã®çè§£ãæ·±ãŸããŸãã
7.2 泚æç¹ãšãã¹ããã©ã¯ãã£ã¹
- æµ®åå°æ°ç¹æ°ã®çŽæ¥æ¯èŒã¯é¿ãã
æµ®åå°æ°ç¹æ°å士ã®çŽæ¥æ¯èŒã¯äžžã誀差ã®åœ±é¿ãåãããããæåŸ éãã®çµæãåŸãããªãå Žåãå€ããããçŽæ¥ã®æ¯èŒã¯é¿ããã¹ãã§ããæ¯èŒã«ã¯ã€ãã·ãã³ã䜿ã£ãæ¹æ³ãæšå¥šããŸãã - ç¹°ãè¿ãèšç®ã«ãã誀差èç©ã«æ³šæ
æµ®åå°æ°ç¹æ°ãç¹°ãè¿ã䜿çšããã«ãŒãèšç®ã§ã¯èª€å·®ãèç©ãããããçµæã倧ãããããå¯èœæ§ããããŸãã粟床ãèŠæ±ãããèšç®ã§ã¯ãé«ç²ŸåºŠã®ããŒã¿åã誀差ãæããèšç®æ¹æ³ã®å·¥å€«ãå¿ èŠã§ãã - é©åãªãã©ãŒãããæå®ã§èŠèªæ§ã確ä¿
ããŒã¿ã®æŽåãåºåãã©ãŒããããé©åã«æå®ããããšã§ãåºåçµæãèŠããããªããŸããç¹ã«è¡šåœ¢åŒã®åºåã§ã¯ã0åããå¹ æå®ãçšããããšã§ããŒã¿ãæŽããèªã¿æã®çè§£ãæ·±ãŸããŸãã