
正文
vb.net运算符号 vb算术运算符例子
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
VB.net中的 and判断条件问题
911 X + 1 916 还有 704 Y + 1 709,没有这么连续判断的。
是比较运算符,是运算符!+、-、*、/ 是算术运算符,也是运算符!
既然是运算符,就得按照运算优先级(所谓优先级,就是 * 运算比 + 运算要优先)从左到右依次计算,显然 911 X + 1 916 里两个 的运算优先级是相同的。
那么从左至右依次计算,先算 911 X + 1,得到结果 True(-1) 或者 False(0)(不要问我为什么True=-1,False=0,.NET里就是这么规定的),再计算 True / False 916,结果始终为 True。704 Y + 1 709 也是同理,两个 True 之间 And 了还是 True,结果当然是条件一直成立。
正确写法:
If (911 X + 1 And X + 1 916) And (704 Y + 1 And Y + 1 709) Then
相关问答
Q1: vb.net 有没有++(增1)和--(减1)运算符?
++ 是 c#vb.net运算符号的用法
vb.net vs c# 详细vb.net运算符号的Operators运算符区别
vb.net
=====================
Comparison
= = =
Arithmetic
+ - * /
Mod
\ (integer division)
^ (raise to a power)
Assignment
= += -= *= /= \= ^= = = =
Bitwise
And Or Xor Not
Logical
AndAlso OrElse And Or Xor Not
Note: AndAlso and OrElse perform short-circuit logical evaluations
String Concatenation
c#
=====================
Comparison
== = = !=
Arithmetic
+ - * /
% (mod)
/ (integer division if both operands are ints)
Math.Pow(x, y)
Assignment
= += -= *= /= %= = |= ^= = = ++ --
Bitwise
| ^ ~
Logical
|| | ^ !
Note: and || perform short-circuit logical evaluations
String Concatenation
+
Q2: VB.NET怎么位运算?
注意只能对整型执行按位运算。浮点值必须转换为整型后,才能执行按位运算。按位运算采用二进制(以 2 为基)形式计算两个整数值。它们比较对应位置上的位,然后基于比较的结果赋值。下面的示例演示了 And 运算符。复制Dim x As Integerx = 3 And 5 前面的示例将 x 的值设置为 1。发生这种情况的原因如下:这些值以二进制形式处理:二进制格式的 3 为 011二进制格式的 5 为 101And 运算符比较这些二进制表示方式,一次比较一个二进制位置(位)。如果给定位置的两个位都为 1,则将 1 放在结果中的该位置。如果任何一个位是 0,则将 0 放在结果中的该位置。在前面的示例中,按如下所示计算结果:011(二进制格式的 3)101(二进制格式的 5)001(二进制格式的计算结果)计算结果以十进制形式处理。值 001 是 1 的二进制表示形式,因此 x = 1。除了在任何一个比较位是 1 或两个比较位都是 1 的情况下将 1 赋予结果位以外,按位 Or 运算与此类似。Xor 在比较的位正好只有一个是 1(而不是两者都是 1)时将 1 赋给结果位。Not 采用单个操作数并反转所有位(包括符号位),然后将该值赋予结果。这意味着,对于有符号正数,Not 始终返回负值,而对于负数,Not 始终返回正值或零。AndAlso 和OrElse 运算符不支持按位运算。 追问: 好复杂啊...还是不会,还有整数怎么转换为二进制数? 回答: 为什么一定要用位运算呢,你那个乘法只能通过左移操作符“ ”来进行,而左移一次代表乘以2,要是乘以一个小数,就必须先化成2的n次方,不够再用加减法调整,很麻烦啊,没必要用位运算啊。。。 追问: 因为我要进行大量的运算,但速度要快,所有用位运算...我也不想啊.. 回答: 那就不该用VB 啊,c/c++在执行效率上是没话说的。 追问: 问题就是不会嘛... 回答: 那你上csdn上发帖效果应该不错 追问: CSDN发了,我发在高性能运算,没人... 回答: 耐心一些,或者你应该发到VB.NET论坛那里。。。 追问: 额..只能这样了... 提问者 的感言: 太复杂了..算了 2010-11-08
Q3: vb.net 1
1左移10位,1后面加10个0
结果就是:10000000000
五、按位运算符
注意不能在VB.Net中直接使用以下二进制数,使用时需转换为相应的十六或十进制数字。
1. 表示按位左移,空缺处补0。如:101101 2 结果为 110100
2. 表示按位右移,如:101101 2 结果为 001011
vb.net运算符号的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于vb算术运算符例子、vb.net运算符号的信息别忘了在本站进行查找喔。






