026:iniciacion

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

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] miguel026: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.
  
-{{ :026:iniciacion_02.jpg?200|}}+{{ :026:iniciacion_02.jpg?200 |}}
  
 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) = EFA1H Recuerde nuevamente que el equivalente hexadecimal de 141) es EH, el de 151) es FH y el de 10L) es AH.+613451D = EFA1H 
 + 
 +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 "NUMERO?=";
 +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 "nunero?=";+</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 "numero?=",A$ LET C= +
- +
-+
- +
-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 "BASE?=";B: IF B<2 OR B>16 THEN GO TO 140 
 +30 INPUT "NUMERO?="; A$: LET C=0 
 +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)+
 +100 IF A>=BTHEN GO TO 140 
 +110 NEXT I 
 +120 PRINT C 
 +130 GO TO 20 
 +140 PRINT "ERROR": GO TO 20
  
-140 PRINT "ERROR": GO TO 20+</code>
  
-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 binariohexadecimal.+Hasta aquí, hemos visto la conversión binaria <=> decimal y hexadecimal <=> decimal. Veamos ahora la conversión directa binario <=> hexadecimal.
  
 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).
  • 026/iniciacion.txt
  • Última modificación: d/m/Y H:i
  • por miguel