- 博客(3)
- 收藏
- 关注
原创 浮点数是如何表示的
如何编码浮点数?我们知道计算机表示的任何信息都是一串bit,具体内容决定于如何解释。IEEE浮点标准用V = (-1)^s * M * 2^E的形式来表示一个数。s表示符号(1表示负,0表示正); M表示尾数,二进制小数,取值范围为1~2或者0~1,不包括上限值;E表示阶码,对浮点数加权,这个权重是2的E次幂(可能是负数)。在单精度浮点格式中,s占用最高位1位,exp占用接下来的8位,...
2018-09-11 17:05:06 2231
原创 如何写一个简单的解释器-1
Lan的源代码由一些基本元素构成,我们称之为Token,在词法分析阶段我们需要将输入的字符流转化成Token流(简单说就是Token列表)。下面是Token的类型定义,为了节省资源采用整数表示而不用枚举类型。public class TokenType { public static final int PLUS = 0;//("+") public stat...
2018-09-07 22:47:46 1022
原创 如何写一个简单的解释器-0
在接下来的几篇文章中,我们一起用Java写一个简单的编程语言(我称之为Lan)解释器。该语言不会有实际用处,仅仅作为演示Pratt解析算法。目标读者是对编程语言的解析感兴趣的初学者,当然我也是。先看看Lan的一些代码:变量类型(数字,布尔值,字符串,函数,null)n = 123 + 1 - 23 * 21 / 3b = true s = "hello lan"hello = fun...
2018-09-07 15:25:11 1358
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人