有没有办法将二进制值分配给VB变量?所有明显的选择都不起作用.我尝试过添加前缀&B,b但似乎没有任何效果.我也没有太多运气寻找它.我不需要这个用于我的应用程序,但我更确切地说,只是好奇所以不需要替代解决方案.
[编辑]为了澄清,我正在寻找的东西(似乎不可能)是如何为变量分配文字二进制数,以类似的方式分配十六进制或八进制数.我只是在寻找一种更具视觉冲击力的方式来为一个标志枚举赋值.
码:
Dim num as Integer = &H100ABC 'Hex'
Dim num2 as Integer = &O123765 'Octal'
Dim myFantasy as Integer = &B1000 'What I would like to be able to do'
Dim myReality as Integer = 2 ^ 3 'What I ended up doing'
Run Code Online (Sandbox Code Playgroud) 在VB6中,强制True转换为整数会产生值-1.
为什么会这样?这背后的原因是什么?
在大多数其他编程语言(C/C++,Java,Perl,Python等)中,当强制转换为整数时,true变为1.在布尔代数中,值1用于表示true/on.为什么VB6采用不同的方式呢?
我确实看到了一个优雅的对称性,即按位 - 不是-1(True)将产生0(False),反之亦然(因为-1的表示是2的补码中的所有1 ),但我可以'想一想这个身份的任何实际好处.
顺便说一句,我只是出于好奇而问 - 当我第一次学习VB6时,这让我感到很奇怪,从那时起我一直在想.