初学vb,有一个语句不明白,求指教

2024-11-22 01:59:33
推荐回答(1个)
回答1:

由于n和j都是整型数(Integer),所以在计算n*j时,VB会默认用一个整型数的内存空间(即2个字节)来存放计算结果,但是当计算结果大于32767时,就超过整型数的最大范围了(换句话说就是两个字节已经放不下了),就会产生一个“溢出”错误。而如果用1&(即长整型的1)去参与运算,VB就会改用长整型数(Long)的内存空间(即4个字节)来储存计算结果,这样就不会出错了。
其实最好的解决办法就是把n和j都声明为长整型数(Long),这样就不需要用1&去乘了。