Diferencias
Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anterior Revisión previa Próxima revisión | Revisión previa Próxima revisiónAmbos lados, revisión siguiente | ||
026:iniciacion [d/m/Y H:i] – miguel | 026:iniciacion [d/m/Y H:i] – miguel | ||
---|---|---|---|
Línea 63: | Línea 63: | ||
Calcular el equivalente hexadecimal del decimal 613451D. | Calcular el equivalente hexadecimal del decimal 613451D. | ||
- | {{ : | + | {{ : |
Hemos puesto en negrita los restos de las distintas divisiones y el último cociente. El equivalente hexadecimal se construye tomando estos números empezando por el último cociente y escribiéndolos de izquierda a derecha. | Hemos puesto en negrita los restos de las distintas divisiones y el último cociente. El equivalente hexadecimal se construye tomando estos números empezando por el último cociente y escribiéndolos de izquierda a derecha. | ||
Línea 69: | Línea 69: | ||
Entonces: | Entonces: | ||
- | 613451) | + | 613451D |
+ | |||
+ | Recuerde nuevamente que el equivalente hexadecimal de 14D es EH, el de 15 es FH y el de 10D es AH. | ||
Igual que en base diez, añadir ceros a la izquierda de un número entero hexadecimal no altera el valor. El mismo número representan 34AH y 0034AH. | Igual que en base diez, añadir ceros a la izquierda de un número entero hexadecimal no altera el valor. El mismo número representan 34AH y 0034AH. | ||
Línea 75: | Línea 77: | ||
El siguiente programa convierte un número decimal a hexadecimal. | El siguiente programa convierte un número decimal a hexadecimal. | ||
- | 10 rem programa DE conversion de decimal r hexrdecimal | + | <code basic> |
- | 20 let b $ = " " | + | 10 REM PROGRAMA DE CONVERSION DE DECIMAL A HEXADECIMAL |
+ | 20 LET B$="" | ||
+ | 30 INPUT " | ||
+ | 40 IF A=0 THEN PRINT B$: GO TO 20 | ||
+ | 50 LET C=INT (A/16): LET R=A-16*C | ||
+ | 60 LET C$=STR$ (R) | ||
+ | 70 IF R>10 THEN LET C$=CHR$ (55+R) | ||
+ | 80 LET B$=C$+B$ | ||
+ | 90 LET A=C | ||
+ | 100 GO TO 40 | ||
- | 30 input " | + | </code> |
- | + | ||
- | 4-0 if fl =0 then print b* go to 20 | + | |
- | + | ||
- | 50 let c=int (fl/16): let r=fl-1 6*c | + | |
- | + | ||
- | 60 let c*=str$ (r) | + | |
- | + | ||
- | 70 if r > 10 then let c»=chr$ (5 5 + r) | + | |
- | + | ||
- | 80 let b$=c$+bí | + | |
- | + | ||
- | 90 let r=c | + | |
- | + | ||
- | 100 go to 40 | + | |
Para la conversión de hexadecimal a decimal pruebe el siguiente programa: | Para la conversión de hexadecimal a decimal pruebe el siguiente programa: | ||
- | 10 REM PROGRAMA DE CONVERSION DE CUALQUIER BASE ENTRE 2 Y 16 A BASE 10 | + | <code basic> |
- | + | ||
- | 20 INPUT " base ? = " i B: IF B < 2 OR B >16 THEN GO TO 140 30 INPUT " | + | |
- | + | ||
- | 0 | + | |
- | + | ||
- | 40 FOR 1=0 TO LEN (A$)-1 50 LET A=CODE (A»(LEN <A$)-I)) 60 IF (A < 48 OR A > 57) HNO (A<55 OR A > 70 J THEN GO TO 140 | + | |
- | 70 IF A>=48 AND A<=57 THEN LET A=A-48: GO TO 90 30 LET A = A-55 90 LET C = A* IBtI) +í 100 IF A > =B THEN GO TO 140 110 NEXT I 120 PRINT C 130 GO TO 20 | + | 10 REM PROGRAMA DE CONVERSION DE CUALQUIER BASE ENTRE 2 Y 16 A BASE 10 |
+ | 20 INPUT " | ||
+ | 30 INPUT " | ||
+ | 40 FOR I=0 TO LEN (A$)-1 | ||
+ | 50 LET A=CODE (A$(LEN (A$)-I)) | ||
+ | 60 IF (A<48 OR A>57) AND (A<65 OR A>70) THEN GO TO 140 | ||
+ | 70 IF A>=48 AND A<=57 THEN LET A=A-48: GO TO 90 | ||
+ | 80 LET A=A-55 | ||
+ | 90 LET C=A*(B^|I)+C | ||
+ | 100 IF A>=BTHEN GO TO 140 | ||
+ | 110 NEXT I | ||
+ | 120 PRINT C | ||
+ | 130 GO TO 20 | ||
+ | 140 PRINT " | ||
- | 140 PRINT " | + | </ |
- | En los dos programas anteriores, el número tecleado debe ser positivo | + | En los dos programas anteriores, el número tecleado debe ser positivo. |
- | Hasta aquí, hemos visto la conversión binaria**decimal y hexadecimal^» decimal. Veamos ahora la conversión directa | + | Hasta aquí, hemos visto la conversión binaria |
La utilidad de la base dieciséis está precisamente en que la conversión binario — hexadecimal es sencilla, directa y rápida. Además, en base dieciséis se pueden representar con pocas cifras números que en base dos necesitarían una larga tira de «unos» y «ceros». Resulta muy cómodo referirse al valor de un byte (8 bits) o de una palabra (2 bytes = 16 bit) expresándolo en base dieciséis mejor que en binario o en decimal. Con algo de practica, es muy fácil —en seguida se llega a hacer mentalmente— conocer el valor de cada bit dentro del byte (o palabra). | La utilidad de la base dieciséis está precisamente en que la conversión binario — hexadecimal es sencilla, directa y rápida. Además, en base dieciséis se pueden representar con pocas cifras números que en base dos necesitarían una larga tira de «unos» y «ceros». Resulta muy cómodo referirse al valor de un byte (8 bits) o de una palabra (2 bytes = 16 bit) expresándolo en base dieciséis mejor que en binario o en decimal. Con algo de practica, es muy fácil —en seguida se llega a hacer mentalmente— conocer el valor de cada bit dentro del byte (o palabra). |