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