Другие языки программирования и технологии

Помогите! Как в visual basic проверить число на четность, не используя команду x mod 2= 0?

EK
Evgenyi Kostykov
105
В общем, вариантов куча. Предыдущий ответ на 5++. Наглядно, компактно, быстро.
Ещё можно использовать Fix (). То же достаточно компактно получается.

number / 2 - Fix(number / 2)

Пример в консольке на Visual Basic .NET
.
Сергей Науман
Сергей Науман
81 295
Лучший ответ
1. Умножить число на 5
2. Преобразовать в строковую переменную
3. Если последний символ равен нулю, тогда четное
Только зачем эти извращения?

Sub chet()
Dim n As Integer
Dim m As Integer
Dim s As String
n = InputBox("Введите целое число")
m = n * 5
s = Str(m)
If Mid(s, Len(s), 1) = "0" Then
MsgBox (n & " четное")
Else
MsgBox (n & " нечетное")
End If
End Sub
Sergejus Butylovas
Sergejus Butylovas
74 518
Проверьте принадлежность последней цифры множеству [0 2 4 6 8].
Vin Dizel
Vin Dizel
76 793
В VBA никто не отменял AND (соотв. проверка последнего бита). Операция быстрее чем деление.
Число AND 1 даст 0, если число четное, 1 если нечетное. Проще и быстрее ИМХО невозможно.

Пример:
Dim i as Integer
i = 11
MsgBox IIf(i And 1, "Нет", "Да")

P.S: Да я знаю про Little и Big Endian, но не припомню, чтобы MSO пакет да ещё и с VBA работал на чем-то отличном от Little Endian.
дели на 2 float значения и смотри число после точки, если нет то это тот же нуль при использовании мода, соответственно число после точки есть остаток
Evgenyi Kostykov А нет ли какой-нибудь команды, которая сразу бы проверяла число на четность в бейсике?
в basic не знаю но на с++ это будет так if(x%2==0){}, попробуй может зароботает))
Evgenyi Kostykov По сути, это тот же mod,только другими словами, а мне сказали решается это намного проще, без использования мода, уже. 2 недели голову ломаю над задачей этой (