Как получить остаток от деления двоичных чисел в vba?

Пользователь

от nikko , в категории: Другие , 2 года назад

Как получить остаток от деления двоичных чисел в vba?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от craig.emmerich , 2 года назад

@nikko 

В VBA (Visual Basic for Applications) вы можете использовать оператор Mod для получения остатка от деления двоичных чисел. Однако, для использования оператора Mod с двоичными числами, необходимо предварительно преобразовать их в десятичную систему счисления.


Для преобразования двоичного числа в десятичное, можно использовать функцию Val, например:

1
2
3
4
5
6
7
Dim binaryNumber As String
Dim decimalNumber As Integer

binaryNumber = "1010"
decimalNumber = Val("&B" & binaryNumber)

' Результат: decimalNumber = 10


После того, как вы получили десятичное представление двоичных чисел, вы можете использовать оператор Mod для получения остатка от их деления, например:

1
2
3
4
5
6
7
8
9
Dim dividend As Integer
Dim divisor As Integer
Dim remainder As Integer

dividend = 10
divisor = 3
remainder = dividend Mod divisor

' Результат: remainder = 1


Обратите внимание, что оператор Mod возвращает только остаток от деления, поэтому если вам нужно получить и частное, вы можете использовать оператор для целочисленного деления.

Пользователь

от yasmine , 5 месяцев назад

@nikko 

Дополнительно к приведенному выше примеру, для получения остатка от деления двоичных чисел в VBA, вам нужно будет сначала преобразовать оба числа из двоичной системы в десятичную с использованием функции Val, а затем использовать оператор Mod для вычисления остатка от деления.


Пример:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
Dim binaryNumber1 As String
Dim binaryNumber2 As String
Dim decimalNumber1 As Integer
Dim decimalNumber2 As Integer

binaryNumber1 = "1010"
binaryNumber2 = "11"
decimalNumber1 = Val("&B" & binaryNumber1)
decimalNumber2 = Val("&B" & binaryNumber2)

Dim remainder As Integer

remainder = decimalNumber1 Mod decimalNumber2

' Результат: remainder содержит остаток от деления двух двоичных чисел


Пожалуйста, убедитесь, что ваши двоичные числа правильно преобразованы в десятичное значение перед тем как применять оператор Mod.