基于汇编语言实现的带小数的四则运算
一 需求分析
从键盘输入一个简单的表达式,如“ S=4+6*9-1+8/5”,按回车键结束输入,则屏幕显示S=58.6,小数点保留1位。假设输入的表达式中只含个位十进制数和 “+”、“-”、“*”、“/”运算符,且同一运算符最多出现2次。
二 程序设计
2.1 设计思想
这个程序应该能正确处理数字和数学表达式的输入。我的设想是使其进一步处理最多12位十进制小数的输入,以及带有括号、四则运算算式的正确处理,并给出可以精确到小数点后五位的正确结果。
该程序应完成工作:
公式的输入,包括处理数字输入、符号输入,以及正确处理输入公式的句法
公式的计算。其中包括正确处理各种符号运算的优先级和结合性、中间数的临时保存、小数的正确处理等
结果的正确显示
主程序的大致框图如下:
2.2 PARSEEXP
逐字符进行读取,并根据读取到的字符判断算式中出现的token属于什么类型。若是数字,则调用INPUTDECIMAL将其处理成双精度浮点数;若是运算符,则对应处理(见下)。
对于算式的处理和运算,采用了调度场算法(Shunting yard algorithm)。采用两个堆栈,一个放数字,一个放运算符。当算法执行到将运算符放置到数字上的步骤时,立即进行运算。这样,分析完算式后,数字栈顶便是结果。
点击此处下载文档和源码
基于汇编语言实现的带小数的四则运算相关推荐
- 利用栈实现四则运算,带负数,带括号,带小数
这利用栈实现四则运算,带负数,带括号,带小数,自己写的有问题大家纠正. #include <stdio.h> #include <stdlib.h> #include < ...
- [汇编语言计算机原理] 带开机音乐,速度、进度和行驶方向显示的出租出计费系统设计
写在前面的话: 这是计算机原理实验的大作业. 详细报告在资源"(汇编语言程序设计)带开机音乐,速度.进度和行驶方向显示的出租出计费系统设计"中,可自己下载. 资源中的源代码,我把音 ...
- python 把带小数的浮点型字符串转换为整数的解决方案
python 把带小数的浮点型字符串转换为整数的解决方案 参考文章: (1)python 把带小数的浮点型字符串转换为整数的解决方案 (2)https://www.cnblogs.com/mlgjb/ ...
- Java除法结果带小数、进一法的实现 Java问题通用解决代码
http://blog.csdn.net/windone0109/article/details/5355379进一法: 即省略的位上只要大于零都要进一位 : 四舍五入法: 即省略的位上小于五都要舍 ...
- python怎么创建列表_用Python将一个列表分割成小列表的实例讲解 Python 如何创建一个带小数的列表...
python里有一个列表,列表里有几个小列表,小列表#冒泡排序:scoreList = [['a',98],['c',45],['b',70],['d',85],['h',85],['f',92],[ ...
- C语言算小数加减,C语言带小数加减乘除.doc
C语言带小数加减乘除 /*Desgined by doBell-ConG*/ /*Function:simply add, subtract, multiply and divide*/ #inclu ...
- Java除法结果带小数、进一法的实现(java)
Java除法结果带小数.进一法的实现(java) Java除法结果带小数.进一法的实现(java) 进一法: 即省略的位上只要大于零都要进一位 : 四舍五入法: 即省略的位上小于五都要舍去,但省略的位 ...
- Java除法结果带小数、进一法的实现
进一法: 即省略的位上只要大于零都要进一位 : 四舍五入法: 即省略的位上小于五都要舍去,但省略的位上满五都要进一位 : 还有一种 去尾法: 即省略的位上不管是否满五都要舍去 : 1.除法带小数 例如 ...
- 基于Matlab实现微波带低通高通带通滤波器设计
基于Matlab实现微波带低通高通带通滤波器设计 在微波通信系统中,滤波器作为一个重要的模块被广泛使用.本文将介绍如何使用Matlab进行微波带通滤波器设计,并提供相应的源代码. 理论基础 微波滤波器 ...
最新文章
- 数据库SQL Server
- LuoguP2754 [CTSC1999]家园(分层图,最大流)
- linux测试函数耗时tick数,C语言中怎样测验函数执行时间
- 科学家对医疗预印本服务器的影响,美国化学学会将启动化学论文预印本服务
- java socket 异常处理_socket编程报异常java.io.EOFException
- MySQL常用命令集锦
- Java Swing线程之SwingUtilities.invokeLater解释
- VScode+Latex:代码和pdf互相跳转
- java 上传文件接口_Java接口实现文件上传
- Python文本加密 或 文本文件加密
- 平台型组织——数字化时代的组织智商鉴定器
- 计算机毕业设计-基于springboot的社区志愿者管理系统
- 浅谈智能家居安防监控的重要性
- Apple pencil 无法连接到ipad的解决办法汇总
- 道阻且长,行则将至:搞科研,我们是认真的——数据院四周年系列报道之科研篇...
- 格灵深瞳:人脸识别最新进展以及工业级大规模人脸识别实践探讨 | 公开课笔记...
- QIIME2使用方法
- Pytorch | yolov3原理及代码详解(二)
- 游戏测试的工作(来自网络)
- erlang NIF部分接口实现(一)加载过程及编写框架