- Код: Выделить всё
MsgBox 204 * 255
Demonx писал(а):Почему кодвыдаёт ошибку Overflow?
- Код: Выделить всё
MsgBox 204 * 255
Dim a As Long
For i = 1 To 255
a = a + 204
Next i
MsgBox a
MsgBox 204 * 255&
GM писал(а):Потому что VB подбирает тип к наиболее близкий тип к числовым константам. В даном случае это байт. А поскольку 204 * 255 > 255 то происходит переполнение.MsgBox 204 * 255&
tyomitch писал(а):GM писал(а):Потому что VB подбирает тип к наиболее близкий тип к числовым константам. В даном случае это байт. А поскольку 204 * 255 > 255 то происходит переполнение.MsgBox 204 * 255&
Неправда. В данном случае это Integer.
А поскольку 204 * 255 > 32767, то происходит переполнение.
Dim a(99), b, i, j As Single
Dim N As Byte
Dim f As Single
Private Sub Command1_Click()
List1.Clear
N = Val(Text1.Text)
For i = 3 To N
a(i) = i
f = (2 ^ (a(i) - 1) - 1) Mod a(i)
If f = 0 Then List1.AddItem a(i)
Next
End Sub
Сейчас этот форум просматривают: AhrefsBot, SemrushBot, Yandex-бот и гости: 64