网站建设资讯

NEWS

网站建设资讯

vb.net的移位运算,vb 移位操作

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 运算符不支持按位运算。 追问: 好复杂啊...还是不会,还有整数怎么转换为二进制数? 回答: 为什么一定要用位运算呢,你那个乘法只能通过左移操作符“

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名注册雅安服务器托管、营销软件、网站建设、阿图什网站维护、网站推广。

100分 急求在vb.net中怎样进行位操作

用bitarray类和BitVector32类实现

VB实现大致如下:

Imports System.Collections.Specialized

...

Dim bvData as BitVector32

Dim sec1 As BitVector32.Section = BitVector32.CreateSection(255)

Dim sec2 As BitVector32.Section = BitVector32.CreateSection(255,sec1)

Dim sec3 As BitVector32.Section = BitVector32.CreateSection(255,sec2)

Dim sec4 As BitVector32.Section = BitVector32.CreateSection(255,sec3)

Dim Buf(4096) as Byte 'receive byte size matched with DSP send data: 1024*4Byte

Dim recCount as Integer

Dim Data(1024) as long

....

For recCount = 0 To 1023

bvData(sec4) = buf(recByte*4)

bvData(sec3) = buf(recByte*4+1)

bvData(sec2) = buf(recByte*4+2)

bvData(sec1) = buf(recByte*4+3)

Data(recCount) = bvData.Data '这样数据肯定是-398

Next

....

在VB中有移位运算符吗

'VB是没有移位命令的,但是可以自定义移位函数。

'位左移  

Public Function SHL(nSource As Long, n As Byte) As Long  

SHL = nSource * 2 ^ n  

End Function  

'位右移  

Public Function SHR(nSource As Long, n As Byte) As Long  

SHR = nSource / 2 ^ n  

End Function  

'获得指定的位  

Public Function GetBits(nSource As Long, n As Byte) As Boolean  

GetBits = nSource And 2 ^ n  

End Function  

'设置指定的位  

Public Function SetBits(nSource As Long, n As Byte) As Long  

SetBits = nSource Or 2 ^ n  

End Function  

'清除指定的位  

Public Function ResetBits(nSource As Long, n As Byte) As Long  

ResetBits = nSource And Not 2 ^ n  

End Function  

'注:以上的所有函数,没有考虑溢出的问题,请自行添加相关处理。


本文名称:vb.net的移位运算,vb 移位操作
文章网址:http://cdweb.net/article/phspcc.html