在VB6中,強制True
爲整數產生值-1。爲什麼-1在VB6中將True強制爲一個整數?
這是爲什麼?這背後的推理是什麼?
在大多數其他編程語言(C/C++,Java,Perl,Python等)中,當強制爲一個整數時,true變爲1。在布爾代數中,值1用於表示真/開。爲什麼VB6的做法不同?
我確實看到一個按位不是-1(真)將產生0(假),反之亦然(因爲-1的表示在two's complement中全爲1)的事實中有一定的優雅對稱性,但我想不出這個身份的任何實際好處。
順便說一下,我只是出於好奇而問 - 當我第一次學習VB6時,這讓我感到奇怪,從此我一直在想。
我知道:)我不喜歡VB;) – Onkelborg 2010-10-20 00:09:21
有趣!感謝您的鏈接。我知道邏輯運算符沒有短路,並且對整數值按位進行操作,但是我沒有意識到它們是按位進行的,即使對於布爾值也是如此。和@Onkelborg,我也不喜歡VB,我只是好奇這個異常;-) – Cameron 2010-10-20 00:57:02
好:)對人類的希望:)對於人類的希望:) – Onkelborg 2010-10-20 00:58:39