代码之家  ›  专栏  ›  技术社区  ›  Barun

如何在vb.net中执行按位与运算?

  •  4
  • Barun  · 技术社区  · 15 年前

    我想在vb.net中执行按位与运算,取一个短(16位)变量,并用“0000000011111111”对其进行运算(因此只保留最低有效字节/8最低有效位)。

    我该怎么做?

    3 回复  |  直到 14 年前
        1
  •  11
  •   Community Mohan Dere    9 年前

    0000000011111111表示为一个vb十六进制文字是&hff(或者&h00ff,如果您想显式的话),以及普通和运算符 is actually a bitwise operator . 所以要屏蔽短信息的顶部字节,您需要写:

    shortVal = shortVal AND &HFF
    

    有关将二进制常量转换为vb的更具创造性的方法,请参见: VB.NET Assigning a binary constant

        2
  •  2
  •   Shog9    15 年前

    使用 And 运算符,并以十六进制(易于从二进制转换)编写文本:

    theShort = theShort And &h00ff
    

    如果您实际要做的是将短字节划分为字节,那么 a built in method 为此:

    Dim bytes As Byte() = BitConverter.GetBytes(theShort)
    

    现在您有了一个包含两个字节的数组。

        3
  •  -4
  •   Tim Cooper    14 年前
    result = YourVar AND cshort('0000000011111111')