问题描述
我已经读到BASIC仅允许标识符由大写字母,数字,另一个大写字母和$符号组成。为什么会这样呢?这与BASIC可以容纳多少内存有关吗?预先感谢。
解决方法
早期的微型计算机上的BASIC的第一个版本,例如Radio Shack的TRS-80 Model I在变量命名约定上有严格的限制,但是从内存来看,您需要大写字母的唯一原因是因为该特定模型仅具有大写字母。小写字母要等到Model III发布后才能使用,但是我相信当时其他流行的计算机,例如Atari和Apple,也许Commodore PET也可以做小写字母。内存有一个限制,所以我相信变量被限制为两个字符,第一个必须是字母,例如AA或A1,而$部分指定了哪种变量,在这种情况下为字符串变量。百分号(%)表示整数,我相信它是否具有浮点数!是单精度数字,#是双精度数字。其他类型将在更高版本的BASIC中添加,并允许更长的变量名。
,因为只为变量分配了固定数量的内存,所以为了节省空间,微软将变量名限制为两个字符(你可以使用更多,但解析器会忽略它们)。
顺便说一句,Sinclair ZX-81 没有这样的限制——内存没有映射,所以变量名可以是任意长度。
Atari、Commodore(从 Vic 开始)和 Apple IIe(不是 II 或 II+)有小写,但不是同时。 BASIC 不区分大小写。
在大多数 BASIC 中,变量默认为整数,但 PETBasic(Commodore)例外,它总是将变量存储为浮点数,如果它们被指定为整数,则在计算之前将它们转换为整数。