我目前正在学习编译器的构造和语言设计,我正在考虑我想用我的语言支持什么本地数据类型。现在有很多语言区分整数和实数。然而,我记得我看了道格拉斯·克罗克福德的“谈话”,他在其中说:
在系统中只有一个数字类型意味着您不能通过选择错误的数字类型而造成错误。
他还提到,他推荐了一个与常用的IEEE-754不同的数字表示形式(如果我错了,请纠正我),即DEC64。因此,我的问题是:对于一个以教育为重点的通用语言,我应该使用多少个数字表示?
编辑:以教育为重点,我说的是我自己在学习编译器方面的进展,而不是教育他人。
发布于 2018-05-29 14:32:01
对于一般语言来说,数字的表现应该像数学课上教的那样。只有特殊用途的语言,如那些设备驱动程序,应该有特殊的数学.
我建议使用任意精度的数字,而不是固定精度的数字。是的,他们的速度较慢,但他们的行为就像人们期望的数字一样。对它们施加人为限制将被报告为一种错误。
https://softwareengineering.stackexchange.com/questions/371714
复制相似问题