How can i optimise (or just make it better) this code?VB Code:
Option Explicit On Option Strict On Imports System.Math Public Class clsNumConv Public Function Dec2Bin(ByVal DecNum As Int32, ByVal ShowDecNum As Boolean) As String Dim DivNum As Int32 'Establish how many divisions will be done, +1 for number rounding DivNum = CInt(Log(DecNum) / (Log(2)) + 1) 'Create array with number of columns needed according to 'DivNum' Dim BinNums(DivNum, 2) As Int16 'Assign 'DecNum' to columns 1, row 0 of array BinNums(0, 1) = CShort(DecNum) Dim intRowNum As Int32 = 1 'Divisions loop counter Dim RevBinNum As String 'Calculate divisions For intRowNum = 1 To UBound(BinNums) 'To highest subscript of array 'Divide previous value by 2 BinNums(intRowNum, 1) = CShort(Math.Floor(BinNums(intRowNum - 1, 1) / 2)) 'Calculate modulus BinNums(intRowNum, 2) = CShort(BinNums(intRowNum - 1, 1) Mod 2) 'Make binary number string RevBinNum &= CStr(BinNums(intRowNum, 2)) Next Dim FinalBinNum As String 'Assign string to 'strBin'" (reverse the string, as the binary number is backwards) FinalBinNum = StrReverse(RevBinNum) 'Remove leading zeros FinalBinNum = FinalBinNum.TrimStart("0"c) 'Check "ShowDecNum" to establish whether or not to show original number If ShowDecNum = True Then 'Output binary number, along with original decimal number Return DecNum & "^10" & " = " & FinalBinNum & "^2" Else 'Output binary number Return FinalBinNum & "^2" End If End Function End Class




Reply With Quote