• Lunes 23 de Diciembre de 2024, 16:46

Autor Tema:  Conversion De Decimal A Hexadecimal  (Leído 1165 veces)

cgaleman

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Conversion De Decimal A Hexadecimal
« en: Jueves 12 de Enero de 2006, 19:22 »
0
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.