在什么情况下VBA数据类型“字节”有用?

wgm*_*wan 5 binary excel vba

由于VBA相对较新,并且根据我在本网站上提供的建议,我正在尝试养成在编码时指定数据类型的习惯。我一直在查看以下网页上列出的数据类型,并考虑了可能使用每种数据类型的方案:

https://docs.microsoft.com/zh-cn/office/vba/language/reference/user-interface-help/data-type-summary

但是,我对如何Byte使用有疑问。在哪种情况下,使用Byte其他数据类型会更好?换句话说:0 -255的数据范围什么时候有利?

我并不太在意数据类型,但绝对对此很好奇!

Mat*_*don 5

对于大多数偶然的事情,Byte即使您要使用的值在Byte范围内,也不需要数据类型。

通常,您也不需要 16位Integer-每当您在VBA中需要整数类型时,Long(32位有符号整数)是理想的选择,而在实际情况下不需要消耗比实际更多的字节可用内存以千兆字节为单位...在1993年并非完全如此。

根据经验,如果需要整数类型,请使用Long;。现代处理器针对使用32位整数进行了优化,并且在内部没有任何区别,因此Byte对于适合8位整数Integer的值,适合16位整数Long的值以及适合32位整数的值使用,...实际上只是无用的额外工作,不会节省任何内存。

Byte是数组中经常使用的低级数据类型,例如对于处理诸如字符串编码之类的事情很有用。

一些标准库函数可以更好地与Byte值配合使用;VBA.Information.RGB想到:

函数RGB(红色为整数,绿色为整数,蓝色为整数)

尽管该函数很乐意使用any Integer,但任何大于255的参数值都将限制为255,因此RGB(1000, 0, 0)输出255:然后将Byte值馈给它是有意义的,但仅出于自我说明目的-与内存消耗无关。

  • Byte的最常见用法可能是它们的数组,因为它绝对可以存储没有对应/匹配的内置类型的任何类型的数据。 (3认同)