[英]excel VBA and statement with numbers
我在excel上用Java重写了旧的vba应用程序,发现以下行:
a = b and (c-1)
b和c是数字,因此我尝试在“监视”选项卡上使用数字进行操作,结果令人困惑
“ 5和3”等于1
“ 3和4”等于5
“ 123和55”等于51
还有一行带有或:2147455232或&H80000000等于-28416
这些数字用于读取我需要在Java上加载但无法理解这些行的二进制文件,
提前致谢
何塞·苏埃罗
这些将And
和Or
用作按位运算符:
1 and 1 = 1
1 and 0 = 0 and 1 = 0 and 0 = 0
对于类似123 And 55
东西:123 = 1111011,55 = 0110111,这是从组件角度完成的:
1111011
and 0110111
-------
0110011 <= 51
Or
也按位使用: 0 or 0 = 0
和0 or 1 = 1 or 0 = 1 or 1 = 1
2147455232 or &H80000000 'a hex literal
二进制是:
10000000000000000000000000000000
Or 01111111111111111001000100000000
--------------------------------
= 11111111111111111001000100000000
最后一个数字是4294938880,当存储在长整数中时,回绕到4294938880-2 ^ 32 = -28416。
Java还配备了按位运算符( &
表示And
而|
表示Or
) |
尽管带符号的数字可能会有些棘手,如您使用Or
的示例所示。 确保使用兼容的数据类型(如果VBA代码使用32位带符号整数,那么Java代码也应使用)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.