ç±»å æ¯ç¹æ° æææ°å æ°å¼èå´
float 32 6-7 -3.4*10(-38)ï½3.4*10(38)
double 64 15-16 -1.7*10(-308)ï½1.7*10(308)
long double 128 18-19 -1.2*10(-4932)ï½1.2*10(4932)
ç®åæ¥è¯´ï¼Float为å精度ï¼å
åä¸å 4个åèï¼æææ°ä½æ¯7ä½ï¼å 为ææ£è´ï¼æ以ä¸æ¯8ä½ï¼ï¼å¨æççµèä¸VC++6.0å¹³å°ä¸é»è®¤æ¾ç¤ºæ¯6ä½æææ°åï¼double为å精度ï¼å 8个åèï¼æææ°ä½æ¯16ä½ï¼ä½å¨æççµèä¸VC++6.0å¹³å°ä¸é»è®¤æ¾ç¤ºåæ ·æ¯6ä½æææ°åï¼è§æçdouble_floatæ件ï¼
è¿æï¼æ个ä¾åï¼å¨CåC++ä¸ï¼å¦ä¸èµå¼è¯å¥
float a=0.1;
ç¼è¯å¨æ¥éï¼warning C4305: 'initializing' : truncation from 'const double ' to 'float '
åå ï¼
å¨C/C++ä¸ï¼ä¹ä¸ç¥éæ¯ä¸æ¯å°±å¨VC++ä¸è¿æ ·ï¼ï¼ä¸è¿°è¯å¥çå·å³è¾¹0.1ï¼æ们以为å®æ¯ä¸ªfloatï¼ä½æ¯ç¼è¯å¨å´æå®è®¤ä¸ºæ¯ä¸ªdoubleï¼å 为å°æ°é»è®¤æ¯doubleï¼ï¼æ以è¦æ¥è¿ä¸ªwarning,ä¸è¬æ¹æ0.1f就没äºäºã
é常çåæ³ï¼ç»å¸¸ä½¿ç¨doubleï¼èä¸å欢使ç¨floatã
温馨提示:答案为网友推荐,仅供参考