如何将2个32位无符号整数组合为64位整数

时间:2018-06-07 21:11:05

标签: vb.net type-conversion endianness unsigned

假设我有两个无符号整数
首先是值&H0D345B40
第二个值&H9AF34A32

如何使用该值生成无符号64位整数 &H324AF39A405B340D

这是我试过的

dim crypt1 as uint32 = &H0D345B40
dim crypt2 as uint32 = &H9AF34A32

Dim output As UInt64 = (CType(CType(crypt1, UInt64), Long) Or (crypt2 << 32))

the output is &H000000009FF75B72

1 个答案:

答案 0 :(得分:0)

解决这个糟糕的方式,但不管怎么说

    dim output() as uint64
    Dim bytes() As UInteger = {crypt1, crypt2}

    Buffer.BlockCopy(bytes, 0, output, 0, 8)