如何将36进制转换成16进制呢?希望大家帮个忙啊
解决方案 »
- 请指教!高深问题从来没遇到过!
- Load report failed
- SendMessage问题
- 怎么根据内容判断类型
- TreeView放在左边一帧,右边页面第一次加载时地址为左边TreeView的默认选择地址.如何实现?
- Remoting是可以像SOCKET一样,任何一方的断开都会发送信息通知对方?
- 异步套接字回调问题
- 请问怎样触发ToolBar上的EnableChange事件?
- 配置了<httpModules>影响了其它需要上传文件的地方, 请大家帮忙
- Execl得问题
- C#如何XmlNode转换为XmlDocument
- ★★★★★在资源管理其中 ,如何动态增加右键菜单,分不够再加★★★★★
Dim temp As Long
Dim zht() As String
Dim total As IntegerDim mmid As StringIf n > 36 Then
MsgBox "本函数最多支持36进制的转换"
Exit Function
End If
If m = 10 Then
temp = CLng(x)
Do
total = total + 1
temp = Int(temp / n)
Loop Until temp = 0
ReDim zht(total)
temp = CLng(x)
total = 0
Do
total = total + 1
zht(total) = temp Mod n
temp = Int(temp / n)
Loop Until temp = 0
For I = total To 1 Step -1
zh = zh & sz(CStr(zht(I)))
Next I
Else
For I = Len(x) To 1 Step -1
mmid = Mid(x, Len(x) - I + 1, 1)
If mmid = "1" Or mmid = "2" Or mmid = "3" Or mmid = "4" Or mmid = "5" Or mmid = "6" Or mmid = "7" Or mmid = "8" Or mmid = "9" Then
total = total + CInt(mmid) * m ^ (I - 1)
Else
total = total + (Asc(mmid) - 55) * m ^ (I - 1)
End If
Next I
zh = zh(CStr(total), 10, n)
End IfEnd Function'将大于9的数转换成A---Z
Function sz(y As String) As String
If CInt(y) > 9 Then
sz = Chr(CInt(y) + 55)
Else
sz = y
End If
End FunctionPrivate Sub Command1_Click()
Dim b, c As Integer
Dim a As Stringa = CStr(InputBox("输入要转换的数"))
b = CInt(InputBox("输入此数当前的进制状态"))
c = CInt(InputBox("输入转换后的进制状态"))
MsgBox CStr(b) + " 进制数:" + a + " 转换成 " + CStr(c) + "进制数为:" + zh(a, CInt(b), c)
End Sub
找到一个vb的...呵呵,自己改成C#吧
private int Conver32(string s)
{ char[] ch = s.ToCharArray();
int t = 0;
int power = 1; for (int i = ch.Length - 1; i >= 0; i--)
{
int n = 0;
if (ch[i] <= '9')
n = ch[i] - '0';
else
n = ch[i] - 'A' + 10;
if (n < 0 || n > 35)
throw new Exception("err");
t = t + power * n;
power = power * 36; } return t;
}