Вопрос № 130263: Здравствуйте, Уважаемые Эксперты! Прошу помочь с программой: неоходимо разработать универсальную программу перевода чисел из одной системы счисления в другую (в том числе и дробные числа). Подскажите какой-либо алгоритм, сайт или статью. Очень призна...
Вопрос № 130.263
Здравствуйте, Уважаемые Эксперты! Прошу помочь с программой: неоходимо разработать универсальную программу перевода чисел из одной системы счисления в другую (в том числе и дробные числа). Подскажите какой-либо алгоритм, сайт или статью. Очень признателен!
Отвечает: Павленко Александр Геннадьевич
Здравствуйте, Lordaleksej!
В Visual Basic 2005 есть замечательный набор методов System.Convert
Переводит практически из любой системы в любую!
И не требуется никаких "шаманских" процедур по переводу, коими я сам раньше увлекался ;)
Отвечает: Константин Павлов
Здравствуйте, Lordaleksej! Обсуждения алгоритмов перевода из одной системы счисления в другую Вы можете посмотреть здесь: Системы счисления., Перевод чисел из одной в другую - ссылка
Рабочий код перевод чисел из 10й системы счисления в любую по выбору- ссылка ответ WeBsteR
Ответ отправил: Константин Павлов (статус: 4-ый класс)
Ответ отправлен: 02.04.2008, 23:29
Отвечает: Черников Игорь Владимирович
Здравствуйте, Lordaleksej!
В VBA, VB имеется тип Boolean - для хранения логических (булевых) значений, которые сохраняются как 16-разрядные (двухбайтовые) числа, но могут иметь только значения True или False. Переменные типа Boolean отображаются как строковые значения True или False при использовании метода Print. Для присваивания переменным логических значений ИСТИНА или ЛОЖЬ следует использовать ключевые слова True или False.
При преобразовании других числовых типов данных к типу Boolean значение 0 преобразуется в False, а все остальные значения преобразуются в True. Если значения типа Boolean преобразуются к другим типам данных, то False превращается в 0, а True в -1.По умолчанию значением булевской переменной является False- ложь.
Любое число можно представить в двоичном виде, а полученный набор нулей и единиц рассматривать как булевский вектор. Для получения представления числа в двоичном виде можно использовать следующий код:
Sub пример8()
Dim b As String
Dim s As Single
Dim a As Integer
b = ""
s = CSng(InputBox("Введи десятичное", "Ввод данных", 255))
Do While s > 0
a = s Mod 2#
b = CStr(a) + b
s = (s) 2#
Loop
MsgBox b, vbOKOnly, "Результат"
End Sub
Для преобразования двоичного представления числа в его десятичное значение можно использовать следующий код:
Sub пример9()
Dim b As String
Dim i As Integer, l As Integer, k As Integer, j As Integer
b = InputBox("Введи двоичное", "Ввод данных", 11111111)
l = Len(b)
i = 0
For k = l To 1 Step -1
j = CInt(Mid(b, k, 1))
i = i + j * 2 ^ (l - k)
Next
MsgBox i, vbOKOnly, "Результат"
End Sub
--------- От каждого по способностям, каждому по труду