在我的学徒生涯中,我们现在开始在学校学习 vba。当老师向我们分发数据类型摘要时,我有点困惑。……
布尔值 -> 2 字节 -> 范围:True / False
嗯True/False当然是合理的,但是,为什么使用 2 个字节,因为布尔值必须能够表示 2 个值中的任何一个?我的意思是理论上我们可以使用单个位来表示该范围内的任何值。(但我知道这是没有意义的,因为我们使用的是高级语言)
当我问我的老师这个问题时,他表现得好像他从来没有问过自己同样的问题,经过几秒钟的沉思,他只是用这样的答案结束了这句话:“你必须接受它,因为它是什么,它是什么?”是。” 但如果我只是“使用”,并且永远不会对理解感兴趣,那么我不会称自己为优秀的程序员。所以我现在在这里问:
vba中是否有任何原因,为什么Boolean需要2个字节而不是单个字节?
为了向后兼容原来的Microsoft BASIC.
Microsoft BASIC只有3种:
Integer(16 位)Single(32 位)String该Boolean数据类型不存在Microsoft BASIC,仅存在于内部(作为表达式的一部分)。
10 INPUT "Do you want more stars? "; A$
20 IF LEN(A$) = 0 THEN GOTO 90
Run Code Online (Sandbox Code Playgroud)
因此,我推测最初Boolean是在内部创建的Integer. 后来升级到 32 位时,Boolean为了向后兼容,仍保留 16 位。我怀疑Byte它是否存在,直到Visual Basic。然而这都是猜测。
| 归档时间: |
|
| 查看次数: |
1891 次 |
| 最近记录: |