在程序中需要一个变量表示两种状态,行或者不行。从占用内存空间和速度以及其他的可能影响到程序的方面考虑,Long、Integer、Byte和Boolean哪种比较好?原因是什么?
还有,当需要表示一个可以用Byte类型变量的数字范围的时候,比如10-100 ,那么也是从占用内存空间和速度以及其他的可能影响到程序的方面考虑,Long、Integer、Byte 哪种比较好?原因?
还有,当需要表示一个可以用Byte类型变量的数字范围的时候,比如10-100 ,那么也是从占用内存空间和速度以及其他的可能影响到程序的方面考虑,Long、Integer、Byte 哪种比较好?原因?
解决方案 »
- vb编写应用程序与下位机通信出现掉包问题
- 在windows项目中,VB中的类模块只能是私有的吗?如何在windows工程中定义一个公有的类模块
- 将一个字符串里的所有空格都去掉,不知道这段代码哪错了
- 怎样在Combo中检索数据
- 菜鸟提问!请求各路高手指点!
- 哪位仁兄知道什么地方有五子棋人机对弈的源代码呀!!!
- 怎样连接设有密码的ACCESS数据库,怎样连接Excel 数据库?
- 怎样用VB控制EXCEL进行SAVEAS功能???(急!!!在线等)
- 我写的dll中调用了系统的asp.dll,请问在没有vb的机器上使用。需要特殊的配置吗?
- vb地位岂容动摇?
- 下面的帖子不是我骗人啊,是系统不让给200分只能给一百分
- 经过摸索和想象,俺这只菜鸟终于找到解决仿 QQ头像闪烁的问题
数字范围如果只用10-100的话,用Byte就足够了。不同类型的变量占用字节是不一样的,当然越经济越好。
固定数组,同上。但是当数组的元素非常多的时候(成千上万)请使用INTEGER不要用LONG(除非数字超过INTEGER的范围)
动态数组,能不用就不用,速度比固定数组慢很多,万一要用,参考固定数组。
BYTE类型在做加减法的时候最快(比LONG快得多)另举个例子:
dim I as long
dim B as single
B=555.333 '随便举个数
for I=1 to 100000
B=B / 3
next如果改成:
dim I as long
dim A as single
dim B as single
B=555.333 '随便举个数
A=1 / 3
for I=1 to 100000
B=B * A
next
速度要快得多
如果当一个很长的循环内要经常用到它的话可以使用LONG来代替。
---------------------------------------------真的吗?从80486开始
x86体系的CPU都带了FPU(浮点协处理器)
所有浮点运算都是交给FPU处理的FPU的寄存器是80位临时浮点型
无论Single还是Double都是按80位运算
只是算好后再作相应的类型转化操作
所以Single、Double速度都一样为什么书上都说Single快一点?
那是因为国内教材更新慢
那时没有FPU硬件
都是依照IEEE浮点标准用软件模拟浮点操作
模拟的肯定慢而且那时大多是16位系统
16位CPU算32位数还不算特别困难
但算64就需要特殊的高精度算法
严重影响速度对于现在计算机体系(1995年以后)
应该这样用浮点型:
就是数据存储(写文件)的时候用Single
平时数学运算都用Double
最好用Enum定义枚举
VB定义的枚举一般是32位的