为了与我的一位同事结算赌注,我想知道VB6本身是否支持任何未签名的数据类型。
我认为答案是“不”,但我似乎无法找到任何证实这一点的官方文件。一个简单的链接到Microsoft文档将是一个可接受的答案;关于为什么不支持此类类型的历史理由将是一个额外的奖励。
答案 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中,符号位就像位逻辑一样分裂。
无论如何,我希望这有助于某人。
欢呼声,
诺伍德,马萨诸塞州