Создать класс, который преобразует десятичную систему счисления в двоичную - 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

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4.091 из 5
Похожие ответы