当前位置>>常用算法>>算法12    
返回首页  
 

 
     
 

算法12 数制转换

 
 
算法描述
将一个十进制整数 m 转换成 r(2-16)进制字符串。
算法分析

 基本思想: 将m不断除 r 取余数,直到商为零,以反序得到结果。下面写出一转换函数,参数idec为十进制数,ibase为要转换成数的基(如二进制的基是2,八进制的基是8等),函数输出结果是字符串。

代码如下(通过定义一个自定义函数Fsqrt来实现):

Private Function TrDec(idec As Integer, ibase As Integer) As String
     Dim strDecR$, iDecR%
     strDecR = ""
     Do While idec <> 0
          iDecR = idec Mod ibase
          If iDecR >= 10 Then
             strDecR = Chr$(65 + iDecR - 10) & strDecR
          Else
             strDecR = iDecR & strDecR
          End If
          idec = idec \ ibase
    Loop
   TrDec = strDecR
 End Function