扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
注意只能对整型执行按位运算。浮点值必须转换为整型后,才能执行按位运算。按位运算采用二进制(以 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 运算符不支持按位运算。 追问: 好复杂啊...还是不会,还有整数怎么转换为二进制数? 回答: 为什么一定要用位运算呢,你那个乘法只能通过左移操作符“
在内江等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都网站建设、成都网站设计 网站设计制作定制网站,公司网站建设,企业网站建设,成都品牌网站建设,全网营销推广,外贸网站建设,内江网站建设费用合理。
逻辑运算符中所含的And 运算符,Eqv 运算符,Imp 运算符,Not 运算符,Or 运算符,Xor 运算符等均可用来实现位运算。
算术运算符的* 运算符,\ 运算符可用于左移和右移位运算。
And 运算符,还对两个数值表达式中位置相同的位进行逐位比较,并根据下表对 result 中相应的位进行设置:
Or 运算符,对两个数值表达式中位置相同的位进行逐位比较,并根据下表对 result 中相应的位进行设置:
Xor 运算符既可作为逻辑运算符,也可作为位运算符。使用互斥或的逻辑进行的两个表达式的逐位比较,其结果通过下表说明:
详细的参考:MSDN6.0关于运算符的介绍。
TextBox1.Text = 7 And 10
TextBox1.Text = 7 Or 10
TextBox1.Text = 7 Xor 10
TextBox1.Text = Not 10
TextBox1.Text = 7 10
TextBox1.Text = 7 10
如这些,我在VB.Net中也找不到shl和shr运算符~
不过可以通过"自定义运算符"来写出我们想要的功能
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流