1
« en: Jueves 12 de Enero de 2006, 19:22 »
Tengo unos pequeños problemas al hacer una funcion que convierta de decimal a hexadecimal, usando corrimientos de bits, por eso escribo, me gustaria ver si alguien me puede ayudar con este pequeño problemita.
Se trata que tengo un dato en decimal por ejemplo 250 y ese dato tengo que convertirlo en hexadecimal y luego sumarle uno a los 2 primeros digitos y luego + 1 a los siguientes dos diguitos para poderlo ocupar como un par de coordenadas para crear una matriz. esta funcion la realice en visual basic de la siguiente manera:
Private Sub LinewayTelmex(iLineway As Integer, iRow As Integer, iCol As Integer)
Dim cTrashValue As String
cTrashValue = CStr(iLineway)
While Len(cTrashValue) < 4
cTrashValue = "0" & cTrashValue
Wend
iRow = CInt(Mid(cTrashValue, 1, 2))
iCol = CInt(Mid(cTrashValue, 3, 2))
End Sub
Public Function LinewayFromBase(cLinewayOrig As String) As String
Dim cTrashValue As String
Dim cHexValue As String
cHexValue = Hex(CInt(cLinewayOrig))
While Len(cHexValue) < 4
cHexValue = "0" & cHexValue
Wend
cTrashValue = CStr(CInt("&H" & Mid(cHexValue, 1, 2)) + 1)
LinewayFromBase = cTrashValue & ":"
cTrashValue = CStr(CInt("&H" & Mid(cHexValue, 3, 2)) + 1)
LinewayFromBase = LinewayFromBase & cTrashValue
End Function
Pero ahorra el sistema que se tenia en visual basic se esta emigrando a java, pero pues no tengo mucha experiencia en este lenguaje, por esta razon algunas cosas como es el caso de esta se me complica hacerlo, les agradeceria mucho que me pudieran ayudar a resolver este pequeño problema, ya que pues hice algo asi, pero no funciona quisiera saber que es lo que estoy haciendo mal, que hace falta o que sobra:
public static String line(Integer lineway) {
byte valorHexadecimal;
String via;
valorHexadecimal = (byte) ((lineWay >>> 16) + 1);
via = Integer.toString(valorHexadecimal);
return via;
}
public static String way(Integer lineway) {
byte valorHexadecimal;
String card;
valorHexadecimal = (byte) ((lineWay >>> 8) + 1);
card = Integer.toString(valorHexadecimal);
return card;
}
Bueno les agradesco de antemando su ayuda, espero poder tener una pronta respuesta de ustedes, ya que me urge un poco terminar esta funcion. y tambien me pongo asus ordenes para ayudarlos en lo que se les ofresca en lenguaje visual basic que es el que mas he manegado tanto el 6.0 y la version .net.