为什么C语言中单精度类型数据在运算中都自动转换成双精度型数据 C语言中,为什么双精度算术运算费时,常常使用浮点型数据运算呢...

\u5728C\u8bed\u8a00\u4e2d\uff0c\u5355\u7cbe\u5ea6\u4e0e\u53cc\u7cbe\u5ea6\u5b9e\u578b\u6570\u636e\u4e4b\u95f4\u662f\u600e\u4e48\u8fdb\u884c\u8f6c\u6362\u7684\uff1f

\u5c06\u4e00\u4e2a\u53cc\u7cbe\u5ea6\u578b\u6570\u636e\u8d4b\u7ed9\u5355\u7cbe\u5ea6\u53d8\u91cf\u65f6\uff0c\u622a\u53d6\u5176\u524d\u97627\u4e3a\u6709\u6548\u6570\u5b57\uff0c\u5b58\u653e\u5230\u5355\u7cbe\u5ea6\u4fbf\u9886\u7684\u5b58\u50a8\u5355\u5143\uff084\u4e2a\u5b57\u8282\u4e2d\u3002\u4f46\u5e94\u6ce8\u610f\u6570\u503c\u8303\u56f4\u4e0d\u5e94\u8d85\u8fc7\u5355\u7cbe\u5ea6\u578b\u6570\u636e\u7684\u8303\u56f4\u3002\u5c06\u4e00\u4e2a\u5355\u7cbe\u5ea6\u578b\u6570\u636e\u8d4b\u7ed9\u53cc\u7cbe\u5ea6\u53d8\u91cf\u65f6\uff0c\u6570\u503c\u4e0d\u53d8\uff0c\u6709\u6548\u4f4d\u6570\u6269\u5c55\u523016\u4f4d\uff0c\u5728\u5185\u5b58\u4e2d\u4ee58\u4e2a\u5b57\u8282\u5b58\u50a8

float \u7c7b\u578b\u4e3a\u5355\u7cbe\u5ea6\u5b9e\u578b\u6570\u636e\uff0c\u4e8c\u8fdb\u5236\u957f\u5ea6\u4e3a 32\u4f4d\uff0c\u53d6\u503c\u8303\u56f4\uff1a3.4e-38\uff5e3.4e+38
double \u7c7b\u578b\u4e3a\u53cc\u7cbe\u5ea6\u5b9e\u578b\u6570\u636e\uff0c\u4e8c\u8fdb\u5236\u957f\u5ea6\u4e3a 64\u4f4d\uff0c\u53d6\u503c\u8303\u56f4\uff1a1.7e-308\uff5e1.7e+308
\u4e8c\u8005\u7686\u53ef\u79f0\u4e3a\u6d6e\u70b9\u578b\u6570\u636e\uff08\u5b9e\u578b\u6570\u636e\u7684\u522b\u79f0\uff09\uff0c\u5176\u4e2d\u5927\u5c0f\u3001\u5b58\u50a8\u7a7a\u95f4\u6709\u533a\u522b\uff01
double\u4e8c\u8fdb\u5236\u957f\u5ea6\u957f\uff0c\u7c7b\u578b\u6570\u636e\u5b58\u50a8\u7a7a\u95f4\u5927\uff0c\u5fc5\u7136\u8fd0\u7b97\u590d\u6742\uff0c\u8d39\u65f6\u3002
\u4f46\u662fdouble\u7c7b\u578b\u7684\u6570\u636e\u53d6\u503c\u8303\u56f4\u5927\uff0c\u540c\u65f6\uff0c\u8fd0\u7b97\u7cbe\u5ea6\u4e5f\u9ad8\u3002

因为精确些更好,精确度有个累计误差的问题,所以编译器用了最高精度,以确保运算的正确性。

这是根据C语言的运算规则进行的自动转换。。。

貌似是C标准的一种规定,由实型在内存中的存储形式决定的吧

二楼正解

  • C璇█涓殑 鍗曠簿搴﹀瀷 鍜屽弻绮惧害鍨嬫槸浠涔鎰忔
    绛旓細鍗曠簿搴鍜屽弻绮惧害鏈澶у尯鍒氨鏄粨鏋滅簿纭埌绗嚑浣嶃傚崟绮惧害鏄繖鏍风殑鏍煎紡锛1浣嶇鍙凤紝8浣嶆寚鏁帮紝23浣嶅皬鏁般傚弻绮惧害鏄1浣嶇鍙凤紝11浣嶆寚鏁帮紝52浣嶅皬鏁般
  • 涓轰粈涔坈璇█涓闀挎暣褰㈠拰鍗曠簿搴瀹炲瀷鍚屾牱鍗4涓瓧鑺,鏁板鑼冨洿鍗寸浉宸繖涔堝ぇ...
    绛旓細闀挎暣鍨(long)绫诲瀷鏄簩杩涘埗瀹氱偣缂栫爜;鑰屽崟绮惧害(float)绫诲瀷鏄簩杩涘埗娴偣缂栫爜锛屽叾涓寘鍚湁8浣嶉樁鐮(E)锛岃〃绀轰箻浠2鐨凟娆″箓锛屽叿浣撹鏌EEE浜岃繘鍒舵诞鐐规暟绠楁湳鏍囧噯锛圛EEE-754锛;鍥犳鍗曠簿搴︾被鍨鍙互琛ㄧず鐨勮寖鍥磋繙澶т簬闀挎暣鍨嬬被鍨嬨
  • 鍗曠簿搴鍜屽弻绮惧害瀹氫箟
    绛旓細鍗曠簿搴﹀拰鍙绮惧害鏁板绫诲瀷鏈鏃╁嚭鐜板湪C璇█涓紙姣旇緝閫氱敤鐨勮瑷閲岄潰锛夛紝鍦C璇█涓崟绮惧害绫诲瀷绉颁负娴偣绫诲瀷锛團loat锛夛紝椤惧悕鎬濅箟鏄氳繃娴姩灏忔暟鐐规潵瀹炵幇鏁版嵁鐨勫瓨鍌ㄣ傝繖涓や釜鏁版嵁绫诲瀷鏈鏃╂槸涓轰簡绉戝璁$畻鑰屼骇鐢熺殑锛屼粬鑳藉缁欑瀛﹁绠楁彁渚涜冻澶熼珮鐨勭簿搴︽潵瀛樺偍瀵逛簬绮惧害瑕佹眰姣旇緝楂樼殑鏁板笺備絾鏄笌姝ゅ悓鏃讹紝浠栦篃瀹屽叏绗﹀悎绉戝...
  • ...涓婁娇鐢c璇█缂栫▼,鍗曠簿搴娴偣鍨嬪拰鍙岀簿搴︽诞鐐鍨嬩负浣閮藉彧鑳界簿纭埌灏忔暟鐐...
    绛旓細鍏跺疄灏辨槸鏈夋晥浣嶆暟涓嶄竴鏍枫傛诞鐐瑰瀷鍙橀噺鍒嗕负鍗曠簿搴锛坒loat)銆佸弻绮惧害锛坉ouble)鍜岄暱鍙岀簿搴(long double)3绫汇傚湪Turbo C 涓細姣旂壒锛堜綅锛夋暟 鏈夋晥鏁板瓧 float 32 6-7 double 64 15-16 long double 128 18-19 ANSI C 骞舵湭鍏蜂綋瑙勫畾姣忕绫诲瀷鏁版嵁鐨闀垮害銆佺簿搴︺佹暟鍊艰寖鍥达紝鏈夌殑绯荤粺灏哾ouble鎵澧炲姞鐨32浣嶅叏...
  • c璇█涓,甯搁噺,鍙橀噺,娴偣,鍗曠簿搴,鍙岀簿搴︽槸浠涔鎰忔?涓句緥
    绛旓細瀹炲瀷甯搁噺鍙堢О瀹炴暟鎴栨诞鐐规暟銆傚湪C璇█涓鍙互鐢鍗曠簿搴﹀瀷鍜屽弻绮惧害鍨嬩袱绉嶅舰寮忚〃绀哄疄鍨嬪父閲忥紝鍒嗗埆鐢ㄧ被鍨嬪悕float鍜宒ouble杩涜瀹氫箟銆傚疄鍨嬪父閲忓湪涓鑸殑寰瀷闆嗕腑鍗犵敤4涓瓧鑺傦紝涓鑸舰寮忔垨鑰呮寚鏁板舰寮忥紝鏁板艰寖鍥撮兘鏄-1038~1038锛屾湁鏁堟暟瀛楁槸7浣嶃傛诞鐐鍨嬫暟鎹鍙堝垎涓哄崟绮惧害鍨(float)鍜屽弻绮惧害鍨(double)涓ょ銆1銆佸崟锛坒loat...
  • C璇█涓崟绮惧害娴偣鏁板拰鍙岀簿搴﹀垎鍒浣曡〃绀?鏈浠涔宸埆?
    绛旓細C璇█涓锛鍗曠簿搴娴偣鍨嬩负float锛 鍙岀簿搴︽诞鐐瑰瀷涓篸ouble銆傚叿浣撳尯鍒涓嬶細1銆 鍗犵敤瀛楄妭绌洪棿涓嶅悓銆備竴涓猣loat鍙橀噺鍗犵敤鍥涘瓧鑺傦紝涓涓猟ouble绫诲瀷鍙橀噺锛屼竴鑸崰鐢8瀛楄妭銆2銆 琛ㄧず鑼冨洿涓嶅悓銆俧loat琛ㄧず鑼冨洿涓-3.4E-38锝3.4E+38銆俤ouble 琛ㄧず鑼冨洿涓-1.7E-308锝1.7E+308銆3銆 绮惧害涓嶅悓銆俧loat鍦ㄨ〃绀哄崄杩涘埗鏃...
  • 鍗曠簿搴鍜屽弻绮惧害鍗犲灏戝瓧鑺?
    绛旓細鍦↗ava涓紝鍗曠簿搴鐢╢loat琛ㄧず锛屽弻绮惧害鐢╠ouble琛ㄧず锛涘湪C璇█涓锛屽崟绮惧害鐢╢loat琛ㄧず锛屽弻绮惧害鐢╠ouble琛ㄧず锛涘湪Python涓紝鍗曠簿搴︾敤float琛ㄧず锛屽弻绮惧害鐢╢loat鎴栬卍ecimal琛ㄧず銆3銆佸湪缂栧啓绋嬪簭鐨勮繃绋嬩腑锛岀粡甯搁渶瑕佸垽鏂竴涓兼槸鍗曠簿搴﹁繕鏄弻绮惧害銆傚湪C璇█涓紝浣跨敤sizeof杩愮畻绗﹀彲浠ュ垽鏂鏁版嵁绫诲瀷鐨勬墍鍗犵敤鐨勫唴瀛樺ぇ灏忋
  • float鍦c璇█涓鐨勬剰鎬
    绛旓細float鍦c璇█涓鐨勬剰鎬濇槸琛ㄧず鍗曠簿搴︽诞鐐规暟銆侳LOAT鏁版嵁绫诲瀷鐢ㄤ簬瀛樺偍鍗曠簿搴︽诞鐐规暟鎴栧弻绮惧害娴偣鏁帮紝娴偣鏁颁娇鐢↖EEE锛堢數姘斿拰鐢靛瓙宸ョ▼甯堝崗浼氾級鏍煎紡銆傛诞鐐绫诲瀷鐨勫崟绮惧害鍊煎叿鏈4涓瓧鑺傦紝鍖呮嫭涓涓鍙蜂綅銆佷竴涓8浣峞xcess-127浜岃繘鍒舵寚鏁板拰涓涓23浣嶅熬鏁帮紝灏炬暟琛ㄧず涓涓粙浜1.0鍜2.0涔嬮棿鐨勬暟锛岀敱浜庡熬鏁扮殑楂橀『搴忎綅濮嬬粓...
  • c璇█鍗曠簿搴娴偣鍨嬩负浠涔鍙互杈撳嚭16浣,%f鍙互浠f浛%lf
    绛旓細f 鏄粯璁よ緭鍑烘牸寮忥紝榛樿杈撳嚭鏍煎紡鏄剧ず鍒板皬鏁扮偣涓6浣嶏紝鍓嶆柟鏈夊灏戞樉绀哄灏戙俧loat 鍨锛岀簿搴︽槸 鏈夋晥鏁板瓧 6-7 浣嶃傚鍑虹殑浣鐨勭簿搴涓嶄繚璇併俿canf() 杈撳叆鏍煎紡 double 蹇呴』鐢 %lf 涓嶅厑璁哥敤 %f printf() 杈撳叆鏍煎紡 double 鍙互 鐢 %lf 涔 鍏佽 鐢 %f 杩欐槸缂栬瘧鍣 杩欎箞瀹 鐨 娓告垙瑙勫垯锛屾病澶 ...
  • C璇█涓浠鍗曠簿搴娴偣鍨嬭緭鍏,杈撳嚭鏍煎紡涓%d鎴%c,涓轰粈涔鏄剧ず鐨勬暟涓嶅?璋㈣阿...
    绛旓細鑲畾涓嶅鍟婏紒浣犺緭鍏ョ殑鏃跺欐槸鍗曠簿搴娴偣鏁扮被鍨嬶紝c璇█涓鍙橀噺灏辨槸float绫诲瀷锛岃緭鍏ヤ娇鐢ㄧ殑鏍煎紡鏄%f銆備笉鍚岀殑鍙橀噺绫诲瀷鍦鍐呭瓨涓殑鍌ㄥ瓨鏂瑰紡涔熷畬鍏ㄤ笉鍚岋紝褰撲綘鐢ㄦ暣鍨嬫牸寮忥紙int锛夊幓璇讳竴涓诞鐐规牸寮忥紙float锛夌殑鏁板瓧鏃讹紝涓嶅彲鑳借鍑烘纭殑缁撴灉銆傛墍浠ワ紝浣犲繀椤荤敤璺熻緭鍏ユ椂鐩稿悓鐨勬牸寮忥紙%f锛夎緭鍑猴紙鍙﹀锛岃繕蹇呴』璺熷彉閲忕殑绫诲瀷...
  • 扩展阅读:测量精度等级一览表 ... 3.4是单精度还是双精度 ... 数据分析师一般一个月多少钱 ... 新手怎么学代码编程 ... c++和python先学哪个 ... c语言精确度怎么控制 ... c语言中单精度浮点型 ... 数据可视化的5种方法 ... c语言计算精度控制 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网