VB,四行代码,哪个能运行出来,为什么?

来源:百度知道 编辑:UC知道 时间:2024/05/29 20:22:56
Private Sub Form_Click()
Print 4096 * 2 ^ 3
Print CInt(5.6) * 5461 + 2
Print 6553 * 5 + 0.5 * 6
Print 32768 + 12
End Sub

Private Sub Form_Click()
Print 4096 * 2 ^ 3 '有指数运算时,会自动调整成为双精度,可行
Print CInt(5.6) * 5461 + 2 '只有*和+,且数字都<=32767,所以结果也是整型,但结果实际值为32768,超过了范围,所以溢出
Print 6553 * 5 + 0.5 * 6 '有0.5参加,结果为单精度,可行
Print 32768 + 12 '32768>32767,被默认为长整型,可行
End Sub
综合,只有第二个不可以,其它的都可以

除了Print CInt(5.6) * 5461 + 2 以外都可以。
实践是检验真理的唯一标准。
Print CInt(5.6) * 5461 + 2 溢出
别的都正常

楼上是正解!~