English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
Todas las categorías

Estoy Programando en C#.NET y mi pregunta es si hay algun metodo o algo que sea rapido para transformar de hexadecimal a entero de 0 a FF y viceversa de entero a hexadecimal de 0 a 255, gracias a todos los que colaboren.

2006-09-06 00:33:03 · 5 respuestas · pregunta de aless_2 2 en Ordenadores e Internet Programación y Diseño

gracias por lo del programa en basic, pero estoy en c#!!!en visual basic tambien me valia de todos modos, lo hare a mano(/16 cogiendo cocientes y restos) o con la calculadora era para un diseño de Windows.Form y tengo que poner los colores en numeros hexadecimales por ejemplo: FF;FF;FF = White, si alguien me dice como transformar nombres de colores a numeros sera la mejor respuesta

2006-09-06 00:57:08 · update #1

5 respuestas

Con la calculadora de Windows, poniéndola en modo científico se puede hacer. Si no, ya sabes. El nº entero lo divides entre 16 y coges todos los cocientes y el resto. Por ejemplo 65 en decimal, sería 65:16=4 y de resto 1. Sería 41 en hexadecimal.
Así, el proceso inverso te da el decimal. 4*16+1=65.

2006-09-06 00:46:36 · answer #1 · answered by Lluvia 3 · 0 0

hex(value)
Changes base 10 to hexadecimal

o tambien

// Hexadecimal to Decimal
public static int HexToDec(string hexValue)
{
return Int32.Parse(hexValue, System.Globalization.NumberStyles.HexNumber);
}

// Decimal to Hexadecimal
public static string DecToHex(int decValue)
{
return string.Format("{0:x}", decValue);
}

// Utilization
string hex = DecToHex(15);
int dec = HexToDec("f");

2006-09-06 02:11:08 · answer #2 · answered by pollirrata 3 · 0 0

..te voy a dar más que un método. Este programilla lo escribí en BASIC cuando me tocó manejar ésto mismo y me sirvió de maravilla. Puede que no tengas intérprete a mano, pero mirando el algoritmo sacarás una funcioncita para ti. Creo que al final lo diseñé para cambios "multibase", así que dale un valor de 16 si no quieres saber del resto. La línea 90 es el cálculo en sí, y si te gusta y quieres que te lo explique escríbeme al ralarcos@yahoo.es
10 CLS
15 A=10
17 LOCATE 1,30:PRINT "CAMBIO DE BASES"
18 LOCATE 2,30:PRINT"==============="
19 LOCATE 8,12:PRINT "(16 como m ximo)"
20 LOCATE 7,11:PRINT "Introduce la base";
30 INPUT BASE$
35 IF VAL(BASE$)>16 THEN RUN
40 LOCATE 10,10:PRINT "Introduce la cifra";
50 INPUT A$
60 FOR N=1 TO LEN(A$)
70 B$=MID$(A$,N,1)
75 IF (ASC(B$)>64 AND ASC(B$)<71) OR (ASC(B$)>96 AND ASC(B$)<103) THEN GOSUB 5000
80 IF VAL(B$)>=VAL(BASE$) THEN PRINT:PRINT SPACE$(9);"Cifra no v lida en base ";BASE$ ; "!!":GOTO 1000
90 H=H+VAL(B$)*VAL(BASE$)^(LEN(A$)-N)
100 NEXT
105 PRINT
110 PRINT " El resultado es: ";H
1000 LOCATE 18,10:PRINT "PULSA X para terminar u otra para segu¡r"
1030 Y$=INKEY$
1040 WHILE Y$=""
1050 GOTO 1030
1060 WEND
1070 IF Y$="X" OR Y$="x" THEN 1100
1080 RUN
1100 END
5000 REM SUBRUTINA DE CALCULO DE LETRAS PARA BASES >10
5010 IF B$="A" OR B$="a" THEN B$="10":RETURN
5020 IF B$="B" OR B$="b" THEN B$="11":RETURN
5030 IF B$="C" OR B$="c" THEN B$="12":RETURN
5040 IF B$="D" OR B$="d" THEN B$="13":RETURN
5050 IF B$="E" OR B$="e" THEN B$="14":RETURN
5060 IF B$="F" OR B$="f" THEN B$="15":RETURN

2006-09-06 00:43:59 · answer #3 · answered by El Elio 2 · 0 0

utiliza la calculadora de windou que te pasa hexadecimal a entero y viceversa,que tengas suerte es la unica forma que encontre para ayudarte

2006-09-06 00:38:34 · answer #4 · answered by ¡Noemí! Amigos del Alma 5 · 0 0

Realmente no se como se hace, pero creo que se utiliza el operador setbase(), entre parentesis tienes que poner el numero de la base (8,10,16).

Mas no te puedo ayudar.

Saludos

2006-09-06 00:36:40 · answer #5 · answered by Notefies 2 · 0 0

fedest.com, questions and answers