看片91_日日综合_成人黄色短视频在线观看_91视频 - v11=Av_国产高潮失禁喷水爽到抽搐视频_天天都色视频

電腦怎么計算減法視頻教程(你知道計算機是怎么計算加減乘除算式的么?)

小編:芯水 更新時間:2022-11-19 08:50

說到加減乘除運算,只要學過乘法口訣的應該沒有不會算的吧。

什么一一得一,一二得二.。。。信手拈來,簡直不要太容易。

難一點的無非也就是這四種運算符號組合起來而已,但是如此簡單的運算對于計算機而言,真的不是一件輕松的活啊。

就運算速度上,計算機遠超你我。

就運算簡易程度而言,你我勝過計算機。

為什么這么說呢?

下面舉個栗子,求一個算式(也叫中綴表達式)結果:5+(6-3)*4+8/2=?

對于我們而言,這個算式輕松的得到答案是21。那么計算機,又是如何得出這個結果的呢?

談到這個問題,首先我們應該了解兩個知識:棧(stack)和后綴表達式

電腦怎么計算減法視頻教程(你知道計算機是怎么計算加減乘除算式的么?)

什么是棧?

棧又名堆棧,它是一種運算受限的線性表。其限制是僅允許在表的一端進行插入和刪除運算。這一端被稱為棧頂,相對地,把另一端稱為棧底。向一個棧插入新元素又稱作進棧、入?;驂簵?,它是把新元素放到棧頂元素的上面,使之成為新的棧頂元素;從一個棧刪除元素又稱作出棧或退棧,它是把棧頂元素刪除掉,使其相鄰的元素成為新的棧頂元素。

可以這么理解棧:棧相當于一個沒有瓶蓋的空瓶子。向瓶子內放入東西叫做入棧,從瓶子里倒出東西叫做出棧。瓶底叫棧底,瓶口叫棧頂。雖然不是很恰當,但是這么理解還是可以的。

什么是后綴表達式?

后綴表達式也叫逆波蘭式。它是波蘭的邏輯學家盧卡西維奇(Lukasiewicz)發明的一種表示表達式的方法。這種表示方式把運算符寫在運算對象的后面,例如,把a+b寫成ab+,所以也稱為后綴式。這種表示法的優點是根據運算對象和算符的出現次序進行計算,不需要使用括號,也便于用械實現求值。對于表達式x:=(a+b)*(c+d),其后綴式為xab+cd+*:=。

計算機對上述運算表達式的過程大致分為兩個步驟:

①將中綴表達式轉換為后綴表達式

②通過執行后綴表達式得出結果

電腦怎么計算減法視頻教程(你知道計算機是怎么計算加減乘除算式的么?)

首先介紹轉換為后綴表達式的過程。轉換的過程中遵循一個規則(符號進棧,數字輸出):

從左到右遍歷中綴表達式的每個數字和符號

如果是數字就加入后綴表達式

如果是符號,判斷括號:如果是左括號“(”,直接入棧;是右括號“)”,則依次從棧中取出運算符加入后綴表達式中,直至取到“(”后停止,并且將棧中“(”刪除

如果是括號以外的其他運算符,判斷這個運算符和棧頂符號優先級:其優先級低于或者等于棧頂符號則先將棧中符號依次彈出加入后綴表達式后自身入棧,否則自身就直接入棧

直到遍歷中綴表達式結束,得到后綴表達式

詳細過程:

將5輸出,+進棧; 目前輸出為5,棧中為+;

遇到(,進棧; 目前輸出為5,棧底到棧頂依次為+ (;

將6輸出,減號進棧,3輸出; 目前輸出為5 6 3,棧底到棧頂依次為+ (-;

遇到),去匹配(,棧頂符號出棧,直到(出棧; 目前輸出為5 6 3-,棧中為+;

遇到乘號進棧,6輸出;目前輸出為5 6 3 - 4,棧底到棧頂依次為+ *;

遇到+,由于+的優先級比*低,所以棧中所有元素都出棧,自身進棧; 目前輸出為5 6 3 - 4 * +,棧底到棧頂依次為+;

遇到10輸出,除號進棧;目前輸出為5 6 3 - 4 * + 8,棧底到棧頂依次為+/;

遇到2輸出;目前輸出為5 6 3 - 4 *+ 8 2,棧底到棧頂依次為+/;

表達式結束,棧中全部依次出棧,最終為5 6 3 - 4 * + 8 2 / +;

其次是后綴表達式的執行過程。其執行過程也遵循一個規則:

從左向右遍歷后綴表達式的每個數字和符號,

遇到是數字就進棧

遇到是符號,就將處于棧頂兩個數字出棧,三者進行運算得到的運算結果進棧, 直到最后獲得運算結果

5 6 3 依次進棧,然后遇到了減號;此時棧底到棧頂依次為5 6 3;

處于棧頂的3和6出棧,相減得到3,將3進棧;此時棧底到棧頂依次為5 3;

4進棧,然后遇到乘號;此時棧底到棧頂依次為5 3 4;

處于棧頂的4和3出棧,相乘得到12,將12進棧;此時棧底到棧頂依次為5 12;

遇到加號,處于棧頂的12和5出棧,加一下得到17,將17進棧;此時棧里只有一個17;

8 2依次進棧,然后遇到除號;此時棧底到棧頂依次為17 8 2;

處于棧頂的2和8出棧,相除得到4,將4進棧;此時棧底到棧頂依次為17 4;

遇到加號,處于棧頂的4和17出棧,想加得到21,將21進棧;

表達式結束,輸出結果21,棧變空。

看完感覺怎樣?

是不是很復雜?

其實還好吧,233。。。

有的小伙伴可能又要吐槽了,知道這些過程有個屁用,實際工作中會讓你寫這個過程么?

是的,工作可能不需要你了解底層如何計算,你需要告訴計算機這些數字和運算符,剩下的就等著拿到結果就ok。

我想說,編程重要的不是你能不能完成單純的開發任務,而是你能不能從任務中看到背后的編程思想。

思想決定高度!

思想有多遠,你就能走多遠~~~~~~~~

電腦怎么計算減法視頻教程(你知道計算機是怎么計算加減乘除算式的么?)

主站蜘蛛池模板: 亚洲国内精品 | 欧美成人亚洲 | 日本视频久久 | 日韩在线观看av | 国产在线欧美 | 国产欧美日韩在线视频 | 在线久| 欧洲天堂网 | 国产欧美精品在线 | 久久精品视频一区 | 国产在线精品一区二区三区 | 欧美综合激情网 | 国产区在线 | 成人国产精品免费网站 | 国产精品久久久久久久午夜 | 久久精品久久综合 | 爱爱的网站 | 亚洲国产精品久久久久 | 久久久精品美女 | 91久久精品 | 国产理论一区二区三区 | 色婷婷综合久久久久中文一区二区 | 国产精品免费一区二区三区四区 | 91精品久久久久久久久久入口 | 国产精品久久久久久网站 | 国产精品无码专区在线观看 | 一区二区免费视频 | 超黄网站 | 国产精品久久久久久吹潮 | 久久精品成人一区二区三区蜜臀 | 国产一区二区三区网站 | 成人片免费看 | 自拍欧美日韩 | 日皮视频在线观看 | 在线一二区 | 国产精品久久久久久亚洲调教 | 又紧又大又爽精品一区二区 | 久久免费一区 | 亚洲一区二区综合 | 三级电影免费 | 国产伦精品一区二区三区免费 |