日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

利用棧結(jié)構(gòu)實(shí)現(xiàn)四則運(yùn)算的巧妙方法

學(xué)益得智能硬件 ? 來源:學(xué)益得智能硬件 ? 2025-02-07 11:06 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

上個(gè)視頻寫了個(gè)簡(jiǎn)易計(jì)算器,算個(gè)簡(jiǎn)單的加減乘除還行,但是如果來個(gè)混合運(yùn)算,或者加個(gè)括號(hào),這幾行代碼就差的太多了。

處理這種混合運(yùn)算,不得不提到數(shù)據(jù)結(jié)構(gòu)中的棧。

我們平時(shí)寫的這種表達(dá)式,叫做中綴表達(dá)式,非常符合人的正常思維,但是計(jì)算機(jī)計(jì)算的話不方便。

中綴表達(dá)式可以轉(zhuǎn)換成后綴表達(dá)式,這種表達(dá)式看起來抽象一些,但是不需要括號(hào)或者優(yōu)先級(jí),計(jì)算機(jī)計(jì)算的話比較方便。

整個(gè)過程有點(diǎn)復(fù)雜,分的情況比較多,就以這個(gè)表達(dá)式為例。

首先是把中綴表達(dá)式轉(zhuǎn)換成后綴表達(dá)式,需要用到一個(gè)棧,來存放運(yùn)算符。

開始遍歷字符串。

遇到數(shù)字,直接寫下來。后面是加號(hào),如果此時(shí)棧是空棧,符號(hào)直接進(jìn)棧;再往后,左括號(hào),左括號(hào)直接進(jìn)棧;數(shù)字 1 直接寫下來;再往后是加號(hào),如果棧頂是左括號(hào),加號(hào)直接進(jìn)棧;1 寫下來;后面是右括號(hào),右括號(hào)不用進(jìn)棧,此時(shí)讓加號(hào)出棧;左右括號(hào)遇到一起,可以讓左括號(hào)出棧,兩個(gè)括號(hào)直接丟掉就行;后面遇到乘號(hào),因?yàn)槌颂?hào)優(yōu)先級(jí)比加號(hào)高,乘號(hào)直接進(jìn)棧;2 寫下來;遇到減號(hào),因?yàn)闇p號(hào)的優(yōu)先級(jí)不高于乘號(hào),所以乘號(hào)出棧;減號(hào)的優(yōu)先級(jí)同樣不高于加號(hào),加號(hào)出棧;此時(shí)棧變成空棧,減號(hào)入棧;最后把 1 寫下來;表達(dá)式遍歷結(jié)束,減號(hào)出棧。

這個(gè)表達(dá)式就是后綴表達(dá)式。

計(jì)算后綴表達(dá)式也需要一個(gè)棧,方法就是,遇到數(shù)字進(jìn)棧,遇到運(yùn)算符就出來兩個(gè)數(shù)字,運(yùn)算后把結(jié)果進(jìn)棧。

前面的 2 1 1 分別進(jìn)棧;遇到加號(hào),1 和 1 出棧,計(jì)算得到 2 再進(jìn)棧;2 進(jìn)棧;遇到乘號(hào),2 和 2 出棧計(jì)算得到 4,4進(jìn)棧;遇到加號(hào),4 和 2 出棧,計(jì)算得到 6,6 進(jìn)棧;數(shù)字 1 進(jìn)棧;最后是減號(hào),1 出棧,6 出棧,用后出棧的減去先出棧的,結(jié)果是 5,5進(jìn)棧。

最后留在棧里面的就是結(jié)果。

這個(gè)過程很復(fù)雜,寫代碼之前需要對(duì)各種情況分類。

這里直接貼出代碼,如果有需要,評(píng)論區(qū)留言代碼,我私信發(fā)你。

代碼寫出來后簡(jiǎn)單的測(cè)試了幾個(gè),沒什么問題,如果大家在使用中有什么問題,歡迎來交流。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 數(shù)字
    +關(guān)注

    關(guān)注

    1

    文章

    1701

    瀏覽量

    52628
  • 運(yùn)算
    +關(guān)注

    關(guān)注

    0

    文章

    132

    瀏覽量

    26837

原文標(biāo)題:用棧實(shí)現(xiàn)四則運(yùn)算

文章出處:【微信號(hào):學(xué)益得智能硬件,微信公眾號(hào):學(xué)益得智能硬件】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    十進(jìn)制計(jì)算機(jī)算術(shù)運(yùn)算器“加法器”專利申請(qǐng)解析

    。針對(duì)每個(gè)邏輯值的運(yùn)算,不再依賴于復(fù)雜的十值或N值邏輯門,而是通過對(duì)空間上并行的多條線路,直接利用現(xiàn)有的二值邏輯元件進(jìn)行編碼連接,從而實(shí)現(xiàn)十進(jìn)制邏輯運(yùn)算與數(shù)值編碼
    的頭像 發(fā)表于 03-25 09:41 ?818次閱讀
    十進(jìn)制計(jì)算機(jī)算術(shù)<b class='flag-5'>運(yùn)算</b>器“加法器”專利申請(qǐng)解析

    RDMA設(shè)計(jì)12:融合以太網(wǎng)協(xié)議設(shè)計(jì)1

    RDMA 隊(duì)列并實(shí)現(xiàn) RDMA 指令提交與完成機(jī)制。在 RoCE v2 高速數(shù)據(jù)傳輸系統(tǒng)中,用戶通過配置系統(tǒng)控制模塊中的寄存器或寄存器組來實(shí)現(xiàn)隊(duì)列管理和數(shù)據(jù) DMA 請(qǐng)求。融合以太網(wǎng)協(xié)議在獲取相關(guān)指令
    發(fā)表于 12-25 11:39

    回調(diào)函數(shù)例子的應(yīng)用

    1、一個(gè)四則運(yùn)算的簡(jiǎn)單回調(diào)函數(shù)例子: #include #include /**************************************** * 函數(shù)指針結(jié)構(gòu)
    發(fā)表于 12-11 07:23

    運(yùn)算放大器的核心組成與典型結(jié)構(gòu)

    運(yùn)算放大器是模擬電路與混合信號(hào)電路的核心基礎(chǔ)模塊,其性能直接決定電子系統(tǒng)的信號(hào)處理精度與穩(wěn)定性。掌握其工作原理、設(shè)計(jì)方法及優(yōu)化策略,是理解模擬集成電路機(jī)制、開展電路研發(fā)的關(guān)鍵。以下從基礎(chǔ)特性出發(fā),探討核心組成、典型結(jié)構(gòu),并結(jié)合設(shè)
    的頭像 發(fā)表于 12-10 15:11 ?5117次閱讀
    <b class='flag-5'>運(yùn)算</b>放大器的核心組成與典型<b class='flag-5'>結(jié)構(gòu)</b>

    使用TFTP實(shí)現(xiàn)IAP的方法

    使用 TFTP 實(shí)現(xiàn) IAP 的方法廣泛應(yīng)用于需要具有固件升級(jí)功能的嵌入式應(yīng)用中(例如,嵌入式 Linux bootloader 中)。TFTP 是一種在 UDP 傳輸層上執(zhí)行的簡(jiǎn)單文件傳輸協(xié)議。此
    發(fā)表于 12-10 07:21

    如何巧妙甚至避免單片機(jī)的干擾問題

    在電子設(shè)計(jì)中,干擾的存在一直是工程師最頭痛的,干擾會(huì)導(dǎo)致電路發(fā)生異常,重則導(dǎo)致產(chǎn)品無法正常使用,因此,必須要巧妙甚至避免干擾問題,是許多工程師的重中之重,今天本文將談?wù)剢纹瑱C(jī)如何避免。 需要
    發(fā)表于 11-26 06:48

    單片機(jī)串口調(diào)試的巧妙方法分享

    printf(\"%s %srn\" ,__DATE__ ,__TIME__ );//日期時(shí)間 printf(\"%s %s%dn\",__FILE__,__FUNCTION__,__LINE__);//文件名、函數(shù)名、行號(hào) void DBG_STRING(char *title, void *pvbuff, unsigned int u32Len) { unsigned int i, j; unsigned char *pu8Buff = pvbuff; printf(\"%srn\", title); printf(\"%s\", pu8Buff); printf(\"n\"); } void DBG_HEX(char *title, void *pvbuff, unsigned int u32Len) { unsigned int i, j; unsigned char *pu8Buff = pvbuff; printf(\"%srn\", title); for (i = 0; i < u32Len; i++) { printf(\"%02X\", pu8Buff); } printf(\"n\"); }
    發(fā)表于 11-21 06:28

    在Keil5中查看大小

    :打開生成的.map文件,在Image Symbol Table部分查找的相關(guān)信息,包括的大小和使用情況。 3、利用IDE的功能: 方法說明:Keil編譯器在編譯過程中會(huì)自動(dòng)跟蹤
    發(fā)表于 11-14 06:32

    第4章 C語言基礎(chǔ)以及流水燈的實(shí)現(xiàn)(4.3 4.4)

    4.3 C語言基本運(yùn)算符 小學(xué)數(shù)學(xué)學(xué)過加、減、乘、除等運(yùn)算符號(hào)以及四則混合運(yùn)算,而這些運(yùn)算符號(hào)在C語言中也有,但是有些表達(dá)
    的頭像 發(fā)表于 10-29 15:30 ?443次閱讀

    定點(diǎn)數(shù)表示實(shí)數(shù)的方法以及定點(diǎn)數(shù)在硬件上的運(yùn)算驗(yàn)證

    本篇主要介紹定點(diǎn)數(shù)表示實(shí)數(shù)的方法以及定點(diǎn)數(shù)在硬件上的運(yùn)算驗(yàn)證 為什么選定點(diǎn)數(shù) 32位單精度浮點(diǎn)數(shù): 32位的單精度浮點(diǎn)數(shù)為例,IEE754標(biāo)準(zhǔn)規(guī)定,一個(gè)flaot類型的浮點(diǎn)數(shù)X可以
    發(fā)表于 10-28 08:13

    浮點(diǎn)數(shù)是如何實(shí)現(xiàn)開平方運(yùn)算

    摘要: 本文主要描述浮點(diǎn)數(shù)是如何實(shí)現(xiàn)開平方運(yùn)算的。 簡(jiǎn)介 事實(shí)上,浮點(diǎn)數(shù)的開平方運(yùn)算結(jié)構(gòu)與定點(diǎn)數(shù)甚至整數(shù)的開平方運(yùn)算
    發(fā)表于 10-24 08:42

    e203乘法運(yùn)算結(jié)構(gòu)及算法原理

    e203乘法部件結(jié)構(gòu) E203的乘法操作由一個(gè)17周期的乘法器實(shí)現(xiàn)。為了提升性能,該乘法器采用了基4Booth編碼,將乘數(shù)分解為17個(gè)Booth編碼,與被乘數(shù)相乘后形成的部分和再在相加,從而實(shí)現(xiàn)
    發(fā)表于 10-22 06:43

    e203 ALU乘法運(yùn)算結(jié)構(gòu)及算法原理

    e203乘法部件結(jié)構(gòu) E203的乘法操作由一個(gè)17周期的乘法器實(shí)現(xiàn)。為了提升性能,該乘法器采用了基4Booth編碼,將乘數(shù)分解為17個(gè)Booth編碼,與被乘數(shù)相乘后形成的部分和再在相加,從而實(shí)現(xiàn)
    發(fā)表于 10-22 06:12

    利用e203中NICE協(xié)處理器加速濾波運(yùn)算

    和加法器的方法來加速濾波運(yùn)算。 使用NICE協(xié)處理器加速的程序?yàn)橐粋€(gè)長(zhǎng)循環(huán),計(jì)算較長(zhǎng)(100到1000量級(jí))的兩個(gè)浮點(diǎn)數(shù)組乘累加的結(jié)果,分別命名為ifm (Input Feature Map
    發(fā)表于 10-21 13:40

    如何利用Trace機(jī)制實(shí)現(xiàn)LLCP預(yù)覽功能

    在藍(lán)牙協(xié)議開發(fā)過程中,有時(shí)需要預(yù)先知道 LLCP。本文將介紹如何利用 Trace 機(jī)制實(shí)現(xiàn) LLCP 預(yù)覽功能。
    的頭像 發(fā)表于 10-09 17:55 ?2104次閱讀
    大名县| 游戏| 津市市| 通道| 合川市| 汾阳市| 全椒县| 赤城县| 崇阳县| 夹江县| 嵊州市| 阿城市| 巴彦淖尔市| 鲜城| 昌黎县| 夹江县| 建瓯市| 井冈山市| 大余县| 册亨县| 兰溪市| 乐山市| 久治县| 天峨县| 博白县| 澄江县| 新闻| 芮城县| 京山县| 田东县| 绥阳县| 洞口县| 南充市| 应用必备| 潼南县| 博湖县| 锡林郭勒盟| 景洪市| 德化县| 安化县| 秦皇岛市|