博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
读程序是怎样跑起来的第二章
阅读量:4956 次
发布时间:2019-06-12

本文共 1217 字,大约阅读时间需要 4 分钟。

IC,是集成电路的简称,有模拟IC和数字IC两种。IC的所有引脚,只有直流电压0V和5V两个状态。也就是说IC的一个引脚,只能表示两个状态。

程序中,即使是十进制和文字等记述信息,在编译后也会转换成二进制数的值,所以,程序运行时计算机内部处理的也是用二进制数表示的信息。对于用二进制数表示的信息,计算机不会区分它的数值,文字还是某种图片的模式等,而是根据编写程序的各位对计算机发出的指示来进行信息的处理或运算。

20世纪50年代,波兰数学家Jan Lukasiewicz,当时也和我们现在的同学们一样,困惑于如何才可以搞定计算机的四则运算,不知道他是否也像牛顿被苹果砸到头而想到万有引力的原理,或者还是阿基米德在浴缸中洗澡时想到判断皇冠是否纯金的办法,总之他也是灵感突现,想到一种不需要括号的后缀表达法,我们也把它称为逆波兰(Reverse Polish Notation,RPN)表示。这种后缀表示法,是表达式的一种新的显示方式,非常巧妙地解决了程序实现四则运算的难题。
我们先来看看,对于"9+(3-1)*3+10/2"(我们平时所用的标准四则运算的表达式也称为中辍表达式
),如果要用后缀表示法应该是什么样子:9 3 1 - 3 * + 10 2 / +,这样的表达式称为后缀表达式,叫后缀表达式原因是在于所用的符号都是在要运算数字的后面出现。显然,这里没有了括号。
后缀表达式:9 3 1 - 3 * + 10 2 / +
规则:从左到右遍历表达式的每个数字和符号,遇到是数字就进栈,遇到是符号,就将处于栈顶两个数字出栈,进行运算,运算结果进栈,一直到最终获得结果。
1.初始化一个空栈。此栈用来对要运算的数字进出使用。
2.后缀表达式中前三个都是数字,所以9、3、1进栈。
3.接下来是“-”,所以将栈中的1出栈作为减数,3出栈作为被减数,并运算3-1得到2,再将2进栈。
4.接着是数字3进栈。
5.后面是“*”,也是意味着栈中3和2出栈,2与3相乘,得到6,并将6进栈。
6.下面是“+”,所以栈中6和9出栈,9与6相加,得到15,将15进栈。
7.接着是10与2两数字进栈。
8.接下来是符号“/”,因此,栈顶的2与10出栈,10与2相乘,得到5,将5进栈。
9.最后一个是符号“+”,所以15与5出栈并相加,得到20,将20进栈。
10.结果是20出栈,栈变为空。

计算机中的所有数据,数字字符,控制信号,地址等,都是采用二进制的方式编码,二进制是逢二进位的进位制,0、1是基本算符。一个bit(位)就是一个二进制位(0或1),Byte(字节)是内存的基本存储单位。一个字节有八位二进制组成。存储器的每个存储单元都有一个地址;地址是标识字节在内存中位置的唯一编号。移位运算也可以通过数位移动来代替乘法运算和除法运算。

转载于:https://www.cnblogs.com/gltks/p/10586652.html

你可能感兴趣的文章
asp.net上传图片自动生成缩略图功能代码
查看>>
图解MBR分区无损转换GPT分区+UEFI引导安装WIN8.1 分类: ...
查看>>
css常见问题解决方法
查看>>
数组和字符串的方法
查看>>
Follow somebody
查看>>
Linux下Eclipse配置安装 PyDev(Pydev插件一直不能成功,安装这个插件失败的问题)...
查看>>
java.lang.IllegalArgumentException: Requested window android.os.BinderProxy@450b2f48 异常处理
查看>>
Invalid code signing entitlements. Your application bundle's signature contains
查看>>
爬取校园新闻首页的新闻
查看>>
Dynamic Shortest Path CodeForces - 843D (动态最短路)
查看>>
Houdiniseed
查看>>
apache 下vhost.conf文件
查看>>
Python3-笔记-E-015-库-subprocess子进程
查看>>
virmon防火墙64位正式版(暂定)公布
查看>>
什么是DDOS(复制)
查看>>
sharepoint search配置爬网站
查看>>
【已解决】Mysql中使用group by出错
查看>>
小小帝国之技术分析--来源:http://all-ipad.net/technical-analysis-of-little-empire/
查看>>
机器学习九大挑战(转载)
查看>>
hadoop
查看>>