为什么布尔';s大小(以vba 2字节为单位)?

为什么布尔';s大小(以vba 2字节为单位)?,vba,types,range,Vba,Types,Range,在我的学徒生涯中,我们现在开始在学校做vba。当老师发给我们数据类型摘要时,我有点困惑。 布尔->2字节->范围:真/假 当然,True/False是有道理的,但是,为什么要使用2个字节来表示这两个值中的任何一个呢? 理论上我们可以用一个位来表示这个范围的任何值。 (但我知道这毫无意义,因为我们使用的是高级语言) 当我问我的老师这个问题时,他似乎从来没有问过自己,经过几秒钟的深思熟虑, 他最后的回答是“你必须接受它,因为它是什么,它是什么。” 但如果我只是“使用”,我就不会称自己是一个好的程序

在我的学徒生涯中,我们现在开始在学校做vba。当老师发给我们数据类型摘要时,我有点困惑。

布尔->2字节->范围:真/假

当然,
True
/
False
是有道理的,但是,为什么要使用2个字节来表示这两个值中的任何一个呢? 理论上我们可以用一个位来表示这个范围的任何值。 (但我知道这毫无意义,因为我们使用的是高级语言)

当我问我的老师这个问题时,他似乎从来没有问过自己,经过几秒钟的深思熟虑, 他最后的回答是“你必须接受它,因为它是什么,它是什么。” 但如果我只是“使用”,我就不会称自己是一个好的程序员,也不会对理解感兴趣。 所以我现在在这里问:


在vba中,为什么
Boolean
需要2个字节而不是一个字节?有什么原因吗?

因为您使用0表示false,而非1表示true。在表达式到布尔值的隐式转换中,计算的值超过1位和1种以上的数据类型(包括整数、长型等)