国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 開(kāi)發(fā) > 綜合 > 正文

VB與Excel在乘冪運(yùn)算時(shí)的結(jié)果差異及其不合理性

2024-07-21 02:21:00
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
東北林業(yè)大學(xué)環(huán)境科學(xué)系 隋祥
引言
表達(dá)式解析是編程工具與電子表格等軟件最基本的功能之一,不同的軟件在解析表達(dá)式時(shí)都遵循一定的運(yùn)算規(guī)則,在不同軟件中,這些運(yùn)算規(guī)則略有差異,導(dǎo)致計(jì)算結(jié)果也不同。筆者在實(shí)踐中發(fā)現(xiàn),vb與excel在處理“連續(xù)乘冪”這一常見(jiàn)運(yùn)算時(shí),所遵循的法則有著較大的出入,而且都存在著不合理的因素。本文試圖通過(guò)論述得到一種更為合理的運(yùn)算模式,并為編寫(xiě)表達(dá)式解析類(lèi)過(guò)程提供指導(dǎo)。

問(wèn)題分析
下表列出了vb6.0與excel2003在處理同一個(gè)關(guān)于乘方運(yùn)算的表達(dá)式時(shí)所得到的結(jié)果。

表1 vb6.0與excel2003執(zhí)行乘方運(yùn)算的結(jié)果差異

表達(dá)式
vb計(jì)算結(jié)果
excel計(jì)算結(jié)果

2^-2^-2
.840896415253715
16

-2 ^ 2
-4
4

-2^-2^-2
-.840896415253715
16

2 ^ -3 ^ 4 ^ 7
0
5.16988e-26


本人經(jīng)過(guò)分析,認(rèn)為引起結(jié)果差異的主要因素是單目運(yùn)算符“-”的運(yùn)算級(jí)和連續(xù)乘冪的運(yùn)算順序。詳細(xì)分析如下:

1.對(duì)于表達(dá)式2^-2^-2,vb的計(jì)算步驟是2^(-2^-2)= .840896415253715,這時(shí)它的計(jì)算順序是從右到左,而excel則嚴(yán)格按照從左到右的結(jié)合順序。如果我們把2^-2^-2理解為,那么,顯然vb的計(jì)算結(jié)果是合理的,但是不是vb在處理連續(xù)乘方運(yùn)算時(shí)都是從右到左的呢?答案是否定的。在計(jì)算2^3^4時(shí),vb得到的結(jié)果是4096而不是2.41785163922926e+24,這說(shuō)明此時(shí)vb并沒(méi)有把2^3^4理解為而是理解為,是從左到右的結(jié)合順序。顯然,vb在處理乘方運(yùn)算時(shí),其結(jié)合順序沒(méi)有一個(gè)令人信服的依據(jù),并存在不合理性。

2.對(duì)于表達(dá)式-2^2,vb的計(jì)算過(guò)程相當(dāng)于-(2^2)=-4,按照microsoft msdn 6.0 簡(jiǎn)體中文版vb幫助系統(tǒng)中的《運(yùn)算符優(yōu)先順序》一文中的描述,指數(shù)運(yùn)算符(^)高于負(fù)數(shù)運(yùn)算符(-)。這樣看來(lái)vb按照這樣的法則得到這樣的結(jié)果是合理的。對(duì)于excel,它的計(jì)算過(guò)程相當(dāng)于(-2)^2,按照excel 2003版幫助文檔的敘述,符號(hào)(-)要高于乘冪(^)(注:兩款軟件運(yùn)算符的中文名稱(chēng)略有差異),那么這樣看來(lái)excel的運(yùn)算也是合理的。但是excel將“-(負(fù)號(hào))”的優(yōu)先級(jí)放在“^”運(yùn)算符之前的做法存在著一定問(wèn)題。例如對(duì)于表達(dá)式4-2^2、4--2^2、4---2^2、4-……-(n個(gè)-)2^2的結(jié)果都是0,這是按照上述法則令人無(wú)法順利解釋的。

3.由于上述兩條原因才導(dǎo)致了對(duì)于表達(dá)式-2^-2^-2的計(jì)算結(jié)果的不同。

4. 對(duì)于表達(dá)式2 ^ -3 ^ 4 ^ 7,vb計(jì)算結(jié)果為0,這是無(wú)論如何也無(wú)法順利解釋的。關(guān)于此結(jié)果的來(lái)歷還有待于進(jìn)一步研究。

表達(dá)式解析法則建議
鑒于vb與excel在解析表達(dá)式時(shí)對(duì)乘冪運(yùn)算的結(jié)果差異及所存在的不合理性,建議在編寫(xiě)表達(dá)式解析過(guò)程時(shí)應(yīng)當(dāng)遵循如下原則:

1.建議將乘冪運(yùn)算符“^”的優(yōu)先級(jí)至于單目負(fù)數(shù)運(yùn)算符“-”之前。

2.在連乘冪運(yùn)算的結(jié)合順序上應(yīng)當(dāng)統(tǒng)一,建議采用從左到右的結(jié)合方式。



  • 網(wǎng)站運(yùn)營(yíng)seo文章大全
  • 提供全面的站長(zhǎng)運(yùn)營(yíng)經(jīng)驗(yàn)及seo技術(shù)!
  • 發(fā)表評(píng)論 共有條評(píng)論
    用戶名: 密碼:
    驗(yàn)證碼: 匿名發(fā)表
    主站蜘蛛池模板: 股票| 道真| 房产| 江津市| 贡嘎县| 榕江县| 灵山县| 花莲县| 长岛县| 宜都市| 石首市| 军事| 钦州市| 奉化市| 大竹县| 利辛县| 庄河市| 兴业县| 时尚| 哈尔滨市| 原阳县| 博乐市| 唐河县| 宣汉县| 疏勒县| 依安县| 安阳县| 安岳县| 永州市| 兴义市| 安乡县| 蓬溪县| 远安县| 镇巴县| 浦东新区| 霍城县| 邯郸市| 涡阳县| 顺昌县| 阜宁县| 伽师县|