Создать класс, который преобразует десятичную систему счисления в двоичную - Visual Basic .NET
Формулировка задачи:
Привет!
Мне нужно создать класс который преобразует десятичную систему счисления в двоичный, восьмеричный и шестнадцатеричный без использования готовых методов...
Решение задачи: «Создать класс, который преобразует десятичную систему счисления в двоичную»
textual
Листинг программы
- Option Strict On
- Public Class Form1
- Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
- Dim v As ULong = 2016
- Dim IntToBaseN1 = New IntToBaseN(v)
- MsgBox(String.Join(vbCrLf, _
- New String() {String.Format("Bin = {0}", IntToBaseN1.ToBaseBin), _
- String.Format("Oct = {0}", IntToBaseN1.ToBaseOct), _
- String.Format("Hex = {0}", IntToBaseN1.ToBaseHex), _
- String.Format("N32 = {0}", IntToBaseN1.ToBaseN(32))}))
- End Sub
- End Class
- Public Class IntToBaseN
- Private _value As ULong
- '
- Sub New(ByVal value As ULong)
- _value = value
- End Sub
- '
- Public Function ToBaseBin() As String
- Return ToBaseN(2)
- End Function
- Public Function ToBaseOct() As String
- Return ToBaseN(8)
- End Function
- Public Function ToBaseHex() As String
- Return ToBaseN(16)
- End Function
- Public Function ToBaseN(ByVal base As Integer) As String
- If base < 2 Or base > 36 Then Throw New ToBaseNException(base)
- Dim d() As String = {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"}
- Dim v As ULong = _value
- ToBaseN = String.Empty
- Do
- ToBaseN = d(CInt(v Mod base)) & ToBaseN
- v = v \ CULng(base)
- Loop While v > 0
- Return ToBaseN
- End Function
- End Class
- Public Class ToBaseNException
- Inherits Exception
- '
- Protected Sub New()
- MyBase.New()
- End Sub
- Public Sub New(ByVal value As Integer)
- MyBase.New(String.Format("Base {0} out of range", value))
- End Sub
- End Class
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д