//****************************vb.net版 '仅限非负整数 '十进制数转换成二进制数 Public Function DecToBin(ByVal value As Integer) As String If value = 0 Then Return "0" Dim tempValue As Integer = value Dim tempString As String = "" Dim modValue As Integer Do tempString += CStr(tempValue Mod 2) tempValue = tempValue \ 2 Loop While (tempValue <> 0) Dim i As Integer Dim returnChars As Char() = tempString.ToCharArray() Dim returnString As String = "" For i = tempString.Length - 1 To 0 Step -1 returnString += returnChars(i) Next Return returnString End Function'二进制数转换成十进制数 Public Function BinToDec(ByVal value As String) As Integer Dim i As Integer Dim returnValue As Integer = 0 For i = value.Length - 1 To 0 Step -1 returnValue += Val(value.Chars(value.Length - 1 - i)) * (2 ^ i) Next Return returnValue End Function'任意二进制数转换成十六进制数 Public Function BinToHex(ByVal value As String) As String If value.Length Mod 4 <> 0 Then value = value.PadLeft(4 * (value.Length \ 4 + 1), "0"c) End If Dim i As Integer Dim returnString As String = "" Dim tempString As String For i = 0 To value.Length \ 4 - 1 tempString = value.Chars(4 * i) + value.Chars(4 * i + 1) _ + value.Chars(4 * i + 2) + value.Chars(4 * i + 3) returnString += GetHexChar(tempString) Next Return returnString End Function'特殊情况:4位二进制数转换成十六进制数 Public Function GetHexChar(ByVal value As String) As String Dim tempValue As Integer tempValue = BinToDec(value) If tempValue < 10 Then Return CStr(tempValue) Else Select Case tempValue - 10 Case 0 Return "A" Case 1 Return "B" Case 2 Return "C" Case 3 Return "D" Case 4 Return "E" Case 5 Return "F" End Select End If End Function '十六进制数转换成二进制数 Public Function HexToBin(ByVal value As String) As StringEnd Function'十进制数转换成十六进制数 Public Function DecToHex(ByVal value As Integer) As String Return BinToHex(DecToBin(value)) End Function'十六进制数转换成十进制数 Public Function HexToDec(ByVal value As String) As Integer Dim i As Integer Dim returnValue As Integer = 0 For i = value.Length - 1 To 0 Step -1 Dim num As Integer = 0 Select Case value.Chars(value.Length - 1 - i) Case "0"c To "9"c num = Val(value.Chars(i)) Case "A"c num = 10 Case "B"c num = 11 Case "C"c num = 12 Case "D"c num = 13 Case "E"c num = 14 Case "F"c num = 15 End Select returnValue += num * (16 ^ i) Next Return returnValue End Function
//*******************c#版 public string DecToBin(int value) { if (value == 0) { return "0"; } int tempValue = value; string tempString = ""; int modValue; do { tempString += System.Convert.ToString(tempValue % 2); tempValue = tempValue / 2; } while ((tempValue != 0)); int i; char[][0] returnChars = tempString.ToCharArray(); string returnString = ""; for (int i = tempString.Length - 1; i >= 0; i--) { returnString += returnChars(i); } return returnString; } public int BinToDec(string value) { int i; int returnValue = 0; for (int i = value.Length - 1; i >= 0; i--) { returnValue += Val(value.Chars(value.Length - 1 - i)) * (Math.Pow(2, i)); } return returnValue; } public string BinToHex(string value) { if (value.Length % 4 != 0) { value = value.PadLeft(4 * (value.Length / 4 + 1), '0'); } int i; string returnString = ""; string tempString; for (int i = 0; i <= value.Length / 4 - 1; i++) { tempString = value.Chars(4 * i) + value.Chars(4 * i + 1) + value.Chars(4 * i + 2) + value.Chars(4 * i + 3); returnString += GetHexChar(tempString); } return returnString; } public string GetHexChar(string value) { int tempValue; tempValue = BinToDec(value); if (tempValue < 10) { return System.Convert.ToString(tempValue); } else { if (tempValue - 10 == 0) { return "A"; } else if (tempValue - 10 == 1) { return "B"; } else if (tempValue - 10 == 2) { return "C"; } else if (tempValue - 10 == 3) { return "D"; } else if (tempValue - 10 == 4) { return "E"; } else if (tempValue - 10 == 5) { return "F"; } } } public string HexToBin(string value) { } public string DecToHex(int value) { return BinToHex(DecToBin(value)); } public int HexToDec(string value) { int i; int returnValue = 0; for (int i = value.Length - 1; i >= 0; i--) { int num = 0; if ('0' <= value.Chars(value.Length - 1 - i) && value.Chars(value.Length - 1 - i) <= '9') { num = Val(value.Chars(i)); } else if (value.Chars(value.Length - 1 - i) == 'A') { num = 10; } else if (value.Chars(value.Length - 1 - i) == 'B') { num = 11; } else if (value.Chars(value.Length - 1 - i) == 'C') { num = 12; } else if (value.Chars(value.Length - 1 - i) == 'D') { num = 13; } else if (value.Chars(value.Length - 1 - i) == 'E') { num = 14; } else if (value.Chars(value.Length - 1 - i) == 'F') { num = 15; } returnValue += num * (Math.Pow(16, i)); } return returnValue; }
'仅限非负整数
'十进制数转换成二进制数
Public Function DecToBin(ByVal value As Integer) As String
If value = 0 Then Return "0" Dim tempValue As Integer = value
Dim tempString As String = "" Dim modValue As Integer
Do
tempString += CStr(tempValue Mod 2)
tempValue = tempValue \ 2
Loop While (tempValue <> 0) Dim i As Integer
Dim returnChars As Char() = tempString.ToCharArray()
Dim returnString As String = ""
For i = tempString.Length - 1 To 0 Step -1
returnString += returnChars(i)
Next Return returnString
End Function'二进制数转换成十进制数
Public Function BinToDec(ByVal value As String) As Integer
Dim i As Integer
Dim returnValue As Integer = 0
For i = value.Length - 1 To 0 Step -1
returnValue += Val(value.Chars(value.Length - 1 - i)) * (2 ^ i)
Next Return returnValue
End Function'任意二进制数转换成十六进制数
Public Function BinToHex(ByVal value As String) As String
If value.Length Mod 4 <> 0 Then
value = value.PadLeft(4 * (value.Length \ 4 + 1), "0"c)
End If Dim i As Integer
Dim returnString As String = ""
Dim tempString As String
For i = 0 To value.Length \ 4 - 1
tempString = value.Chars(4 * i) + value.Chars(4 * i + 1) _
+ value.Chars(4 * i + 2) + value.Chars(4 * i + 3) returnString += GetHexChar(tempString)
Next Return returnString
End Function'特殊情况:4位二进制数转换成十六进制数
Public Function GetHexChar(ByVal value As String) As String
Dim tempValue As Integer
tempValue = BinToDec(value) If tempValue < 10 Then
Return CStr(tempValue)
Else
Select Case tempValue - 10
Case 0
Return "A"
Case 1
Return "B"
Case 2
Return "C"
Case 3
Return "D"
Case 4
Return "E"
Case 5
Return "F"
End Select
End If
End Function
'十六进制数转换成二进制数
Public Function HexToBin(ByVal value As String) As StringEnd Function'十进制数转换成十六进制数
Public Function DecToHex(ByVal value As Integer) As String
Return BinToHex(DecToBin(value))
End Function'十六进制数转换成十进制数
Public Function HexToDec(ByVal value As String) As Integer
Dim i As Integer
Dim returnValue As Integer = 0
For i = value.Length - 1 To 0 Step -1
Dim num As Integer = 0
Select Case value.Chars(value.Length - 1 - i)
Case "0"c To "9"c
num = Val(value.Chars(i))
Case "A"c
num = 10
Case "B"c
num = 11
Case "C"c
num = 12
Case "D"c
num = 13
Case "E"c
num = 14
Case "F"c
num = 15
End Select returnValue += num * (16 ^ i)
Next Return returnValue
End Function
public string DecToBin(int value)
{
if (value == 0) {
return "0";
}
int tempValue = value;
string tempString = "";
int modValue;
do {
tempString += System.Convert.ToString(tempValue % 2);
tempValue = tempValue / 2;
} while ((tempValue != 0));
int i;
char[][0] returnChars = tempString.ToCharArray();
string returnString = "";
for (int i = tempString.Length - 1; i >= 0; i--) {
returnString += returnChars(i);
}
return returnString;
} public int BinToDec(string value)
{
int i;
int returnValue = 0;
for (int i = value.Length - 1; i >= 0; i--) {
returnValue += Val(value.Chars(value.Length - 1 - i)) * (Math.Pow(2, i));
}
return returnValue;
} public string BinToHex(string value)
{
if (value.Length % 4 != 0) {
value = value.PadLeft(4 * (value.Length / 4 + 1), '0');
}
int i;
string returnString = "";
string tempString;
for (int i = 0; i <= value.Length / 4 - 1; i++) {
tempString = value.Chars(4 * i) + value.Chars(4 * i + 1) + value.Chars(4 * i + 2) + value.Chars(4 * i + 3);
returnString += GetHexChar(tempString);
}
return returnString;
} public string GetHexChar(string value)
{
int tempValue;
tempValue = BinToDec(value);
if (tempValue < 10) {
return System.Convert.ToString(tempValue);
} else {
if (tempValue - 10 == 0) {
return "A";
} else if (tempValue - 10 == 1) {
return "B";
} else if (tempValue - 10 == 2) {
return "C";
} else if (tempValue - 10 == 3) {
return "D";
} else if (tempValue - 10 == 4) {
return "E";
} else if (tempValue - 10 == 5) {
return "F";
}
}
} public string HexToBin(string value)
{
} public string DecToHex(int value)
{
return BinToHex(DecToBin(value));
} public int HexToDec(string value)
{
int i;
int returnValue = 0;
for (int i = value.Length - 1; i >= 0; i--) {
int num = 0;
if ('0' <= value.Chars(value.Length - 1 - i) && value.Chars(value.Length - 1 - i) <= '9') {
num = Val(value.Chars(i));
} else if (value.Chars(value.Length - 1 - i) == 'A') {
num = 10;
} else if (value.Chars(value.Length - 1 - i) == 'B') {
num = 11;
} else if (value.Chars(value.Length - 1 - i) == 'C') {
num = 12;
} else if (value.Chars(value.Length - 1 - i) == 'D') {
num = 13;
} else if (value.Chars(value.Length - 1 - i) == 'E') {
num = 14;
} else if (value.Chars(value.Length - 1 - i) == 'F') {
num = 15;
}
returnValue += num * (Math.Pow(16, i));
}
return returnValue;
}
这样会误人子弟的,不误人子弟耽误人时间也是不好滴嘛,
你不懂等我来说嘛,我不说你肯定是不知道的啦,我不说你怎么知道呢?
不可能我不说你就知道了的嘛,我说了你不可能不知道,你要是吃料,我也不会不会拦你的嘛!
晕,我来给楼主一个窃案:
.ToString(int, 16)
我逃!(逃了还不知有分追上来没有?跑慢点:)