为什么在vba中True=-1?

当在vba中执行语句  MsgBox -1 = True 时,将弹出True。

也就是在vba中True=-1,这个是为什么呢。

因为Boolean类型的变量以两个字节存储,而值只能是True 或者 False,它表示的是两个相反的状态。

其中0的二进制形式为“0000 0000 0000 0000”,与0相反的二进制形式为“1111 1111 1111 1111”,这个二进制形式刚好是-1在内存中的存储形式,所以用这两种相反的状态来分别表示False 或者 True,这样True=-1。

 

 

       

发表评论