16进制转为10进制求源码
解决方案 »
- 关于对象初始化,这是不是一个Bug啊?
- java中拷贝问题……
- 貌似最近流行俄罗斯方块?我也来一个
- java版排序冠军的代码,我怎么没看懂。。。。 大家帮忙解释一下如何实现排序的??
- return this
- 能否用JAVA做一个IE内核浏览器?
- 【新手提问】img.getWidth获取到图片的宽度是负数
- Java成员函数的使用问题
- socket连接时,服务器怎么知道另外客户机断开连接了
- Android listview增加footerview后,footerview不在屏幕最下方显示,而是如果在listview的item后面显示
- red hat 下怎么在tomcat停止服务后自动重启.
- 急用!就高手。帮忙把我的计算器程序看看啊!!
System.out.println("x = " + x);
它本身自动会转呀。
'扢离諷秶硐褫眕怀杅趼,麼湮苤迡
Public Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd&, ByVal nIndex&) As Long
Public Declare Function SetWindowLong& Lib "user32" Alias "SetWindowLongA" (ByVal hWnd&, ByVal nIndex&, ByVal dwNewLong&)
'杅郪葩秶
Public Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (pDst As Any, pSrc As Any, ByVal ByteLen As Long)Global Const GWL_STYLE As Long = (-16&)
Global Const ES_UPPERCASE = &H8&
Global Const ES_LOWERCASE = &H10&
Global Const ES_NUMBER = &H2000'/************************************************************************************/
'10進制轉換為16進制
'/************************************************************************************/
Public Function HEX_to_DEC(ByVal Hex As String) As String
Dim i As Long
Dim B As String
Hex = UCase(Hex): B = 0
For i = 1 To Len(Hex)
Select Case Mid(Hex, Len(Hex) - i + 1, 1)
Case "0": B = BigIntAdd(CStr(B), 16 ^ (i - 1) * 0)
Case "1": B = BigIntAdd(CStr(B), 16 ^ (i - 1) * 1)
Case "2": B = BigIntAdd(CStr(B), 16 ^ (i - 1) * 2)
Case "3": B = BigIntAdd(CStr(B), 16 ^ (i - 1) * 3)
Case "4": B = BigIntAdd(CStr(B), 16 ^ (i - 1) * 4)
Case "5": B = BigIntAdd(CStr(B), 16 ^ (i - 1) * 5)
Case "6": B = BigIntAdd(CStr(B), 16 ^ (i - 1) * 6)
Case "7": B = BigIntAdd(CStr(B), 16 ^ (i - 1) * 7)
Case "8": B = BigIntAdd(CStr(B), 16 ^ (i - 1) * 8)
Case "9": B = BigIntAdd(CStr(B), 16 ^ (i - 1) * 9)
Case "A": B = BigIntAdd(CStr(B), 16 ^ (i - 1) * 10)
Case "B": B = BigIntAdd(CStr(B), 16 ^ (i - 1) * 11)
Case "C": B = BigIntAdd(CStr(B), 16 ^ (i - 1) * 12)
Case "D": B = BigIntAdd(CStr(B), 16 ^ (i - 1) * 13)
Case "E": B = BigIntAdd(CStr(B), 16 ^ (i - 1) * 14)
Case "F": B = BigIntAdd(CStr(B), 16 ^ (i - 1) * 15)
End Select
Next i
HEX_to_DEC = B
End Function
'/************************************************************************************/
'16進制轉換為10進制
'/************************************************************************************/
Public Function DEC_to_HEX(ByVal x As String) As String
Dim dec, Temp, remain As Double
dec = Val(x)
Do
remain = Int(dec / 16)
Temp = remain * 16
DEC_to_HEX = Hex(dec - Temp) & DEC_to_HEX
dec = remain
Loop While dec
If Len(DEC_to_HEX) Mod 2 Then
DEC_to_HEX = "" & DEC_to_HEX
End If
End Function'/************************************************************************************/
'/滲杅髡夔ㄩ硐埰勍TextBox怀杅趼趼睫
'/統杅佽隴ㄩ統杅珨 TextBox勤砓
'/晤 迡 ㄩ衾茖茖
'/晤迡ㄩ2007-10-17
'/妏蚚源楊ㄛ婓敦极腔Form_Load 岈璃覃蚚滲杅撈褫
'/************************************************************************************/
Public Function NumbersOnly(tBox As TextBox)
Dim DefaultStyle As Long
DefaultStyle = GetWindowLong(tBox.hWnd, GWL_STYLE)
NumbersOnly = SetWindowLong(tBox.hWnd, GWL_STYLE, DefaultStyle Or ES_NUMBER)
End Function'/************************************************************************************/
'/滲杅髡夔ㄩ硐埰勍TextBox怀湮迡趼睫
'/統杅佽隴ㄩ統杅珨 TextBox勤砓
'/晤 迡 ㄩ衾茖茖
'/晤迡ㄩ2007-10-17
'/妏蚚源楊ㄛ婓敦极腔Form_Load 岈璃覃蚚滲杅撈褫
'/************************************************************************************/
Public Function UpperCaseOnly(tBox As TextBox)
Dim DefaultStyle As Long
DefaultStyle = GetWindowLong(tBox.hWnd, GWL_STYLE)
UpperCaseOnly = SetWindowLong(tBox.hWnd, GWL_STYLE, DefaultStyle Or ES_UPPERCASE)
End Function'/************************************************************************************/
'/滲杅髡夔ㄩ湮淕杅眈樓
'/統杅佽隴ㄩ謗跺趼睫揹
'/晤 迡 ㄩ衾茖茖
'/晤迡ㄩ2008-8-29
'/************************************************************************************/
Public Function BigIntAdd(sNum1$, sNum2$) As String
Dim dNum1 As Double, dNum2 As Double
'淕杅
If IsNumeric(sNum1) = False Or IsNumeric(sNum2) = False Then
BigIntAdd = "": Exit Function
End If
On Error GoTo BigIntAddBegin
dNum1 = CDbl(sNum1): dNum2 = CDbl(sNum2) BigIntAdd = CDbl(dNum1) + CDbl(dNum2)
Exit Function
BigIntAddBegin:
'湮淕杅
Dim arrNum1() As Integer
Dim arrNum2() As Integer
Dim arrReturn() As Integer
Dim iCount As Integer
Dim i As Integer
'蔚趼睫揹溫善杅郪笢
iCount = IIf(Len(sNum1) > Len(sNum2), Len(sNum1) - 1, Len(sNum2) - 1)
ReDim arrNum1(iCount): ReDim arrNum2(iCount)
StrToArr sNum1, arrNum1()
StrToArr sNum2, arrNum2()
'杅郪眈樓
i = iCount: BigIntAdd = ""
Do While i >= 0
iCount = arrNum1(i) + arrNum2(i)
If iCount >= 10 And i > 0 Then
arrNum1(i - 1) = arrNum1(i - 1) + CInt(Left(CStr(iCount), Len(CStr(iCount)) - 1))
iCount = iCount - CInt(Left(CStr(iCount), Len(CStr(iCount)) - 1) & "0")
BigIntAdd = iCount & BigIntAdd
Else
BigIntAdd = iCount & BigIntAdd
End If
i = i - 1
Loop
End Function
'/************************************************************************************/
'/滲杅髡夔ㄩ蔚趼睫揹溫善杅郪笢
'/統杅佽隴ㄩ
'/晤 迡 ㄩ衾茖茖
'/晤迡ㄩ2008-8-29
'/************************************************************************************/
Public Function StrToArr(strNum As String, ReturnArr() As Integer)
Dim i As Integer
Dim sTemp As String
sTemp = strNum: i = 0
Do While sTemp <> ""
ReturnArr(UBound(ReturnArr) - i) = Right(sTemp, 1)
sTemp = Left(sTemp, Len(sTemp) - 1)
i = i + 1
Loop
End Function
估计你理解一下找个代码就知道了吧
public class NumberTest {
public static void main(String[] args) {
int var_int8 = 010;
int var_int16 = 0xA;
System.out.println("var_int8 : " + var_int8);
System.out.println("var_int16 : " + var_int16); System.out.println("---------- 8进制一览 -----------");
for (int i = 000; i < 64; i++) { if (Integer.toOctalString(i).length() == 1) {
System.out.println(
"设定的数值[00" + Integer.toOctalString(i) + "] : 10进制的数值[" + i + "]"
);
} else {
System.out.println(
"设定的数值[0" + Integer.toOctalString(i) + "] : 10进制的数值[" + i + "]"
);
}
}
System.out.println("---------- 16进制一览 -----------");
for(int i = 0x0; i < 16; i++) {
System.out.println(
"设定的数值[0x" + Integer.toHexString(i) + "] : 10进制的数值[" + i + "]"
);
}
}
}
int value = Integer.parseInt(strValue,16);
public static void main(String[] args) {
String hex = "0xFE";
System.out.println(Integer.valueOf(hex.substring(2), 16));
}
}