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

如何将十六进制值添加到整数

  •  0
  • Julien  · 技术社区  · 5 年前

    我想知道是否有可能得到一个数字的最低有效位。

    例子:

     uint intValue = Int32.MaxValue;
     uint LSB = intValue & 0x0000FFFF;
    

    https://www.oreilly.com/library/view/c-cookbook/0596003390/ch01s06.html

    但我在VB.net中需要这个。

    我试过:

     Dim intValue As UInteger = 39101
     Dim LSB As UInteger = intValue And &HFFFF
    

    知道吗?

    1 回复  |  直到 5 年前
        1
  •  0
  •   dbasnett    5 年前

    这可以帮助你想象发生了什么。它展示了各种面具。看每一站的“比特”。

        Dim bits As String
        Dim intValue As UInteger = 39101
        Dim LSB As UInteger
        bits = Convert.ToString(intValue, 2).PadLeft(32, "0"c)
        Stop
        LSB = intValue And &HFFFFUI 'keep 16 bits
        bits = Convert.ToString(LSB, 2).PadLeft(32, "0"c)
        Stop
        LSB = intValue And &HFFUI 'keep 8 bits
        bits = Convert.ToString(LSB, 2).PadLeft(32, "0"c)
        Stop
        LSB = intValue And &HFUI 'keep 4 bits
        bits = Convert.ToString(LSB, 2).PadLeft(32, "0"c)