VB6是否支持无符号数据类型?

时间:2011-02-02 13:50:39

标签: vb6 unsigned

为了与我的一位同事结算赌注,我想知道VB6本身是否支持任何未签名的数据类型。

我认为答案是“不”,但我似乎无法找到任何证实这一点的官方文件。一个简单的链接到Microsoft文档将是一个可接受的答案;关于为什么不支持此类类型的历史理由将是一个额外的奖励。

5 个答案:

答案 0 :(得分:9)

正如Kris所说,它们不受支持,除了Byte数据类型,它只能作为无符号使用,如此数据类型列表中所示:Data Type Summary

该页面提到了VBA,但它也提到了Visual Studio 6.0,支持的数据类型是相同的。

我认为你不会找到官方文档,说明为什么他们没有添加无符号数据类型,因为这通常是错误的方式,因为它可能不是“为什么我们不应该支持这个”的情况和“添加这个额外的努力是否值得”。

编辑提及MarkJ指出的Byte数据类型的异常。

答案 1 :(得分:2)

唯一的无符号整数类型是字节。

答案 2 :(得分:1)

不支持VB6,它是按照VB.NET中link的说明添加的。​​

答案 3 :(得分:0)

不支持。

有关模拟它们的一些好消息:http://www.vbforums.com/showthread.php?t=578430

答案 4 :(得分:0)

可以选择将十六进制值传递给Long类型,只要符号位不是值的一部分,就会将其存储为无符号。例如,

&HFFFF = -1 

but &HFFFF& = 65535 

请注意,这些16位的val被传递给Long类型,即32位。所以标志位不受影响。但如果你需要32位,一个建议是使用Double类型,有人之前提到过它。

对于一般无符号类型的需要,与仅为8位的字节相比,无符号长整数将是32位二进制。尝试通过带有Byte类型的串行端口写入24位寄存器。:)我认为在VBA中,符号位就像位逻辑一样分裂。

无论如何,我希望这有助于某人。

欢呼声,

诺伍德,马萨诸塞州