Curso de Asembler - Sistemas númericos

1 - Sistemas númericos

[editar]
Curso gratis creado por Pablo Barrón Ballesteros ( Wintermute ).
04 de Noviembre de 2005
Comencemos por los sistemas de numeración que m s utilizaremos al

programar.

El b sico va a ser el sistema hexadecimal, aunque debemos de explicar

antes el binario, el sistema de numeración que utiliza el ordenador.

Los números que conocemos est n escritos en base 10. Esto significa que

tenemos, desde el 0 hasta el 9, diez símbolos para representar cada cifra.

Es decir, cada cifra ir  de 0 a 9, y al superar el valor "9", cambiar  a

0 y sumar  uno a su cifra de la izquierda:  9+1: 10  .

El sistema binario utiliza tan sólo dos símbolos, el "0" y el "1".

Imaginemos que tenemos el número binario "0". Al sumarle una unidad,

‚ste número binario cambiar  a "1". Sin embargo, si volvemos a a¤adirle

otra unidad, ‚ste número en formato binario ser  el "10" ( aumenta la

cifra a la izquierda, que era 0, y la anterior toma el valor mínimo ).

Sumemos ahora otra unidad: el aspecto del número ser  "11" ( tres en

decimal ). Y podríamos seguir:

Binario: 0 ; 1 ; 10 ; 11 ; 100 ; 101 ; 110; 111 ; 1000 ; 1001 ; 1010,...

Decimal: 0   1    2    3    4     5     6    7      8      9     10

Esto nos permite establecer un sistema bastante sencillo de conversión

del binario al decimal;

He aquí los valores siendo n el valor de la cifra:

Cifra menos significativa:

n*2^0 =    1 si n=1 o 0 si n=0

Segunda cifra:

n*2^1 =    2 si n=1 o 0 si n=0

Tercera cifra:

n*2^2 =    4 si n=1 o 0 si n=0

Cuarta cifra:

n*2^3 =    8 si n=1 o 0 si n=0

Etc,...

Y así continuaríamos, aumentando el número al que se eleva 2. Traduzcamos

entonces el número binario '10110111'

2^7+ 0 +2^5+2^4+ 0 +2^2+2^1+2^0  = 128 + 0 + 32 + 16 + 4 + 2 + 1 = 183

1      1   1      1   1   1

De todos modos, ‚sta transformación la he puesto símplemente para que se

comprenda con m s claridad cómo funcionan los números binarios. Es mucho

m s aconsejable el uso de una calculadora científica que permita realizar

conversiones entre decimales, hexadecimales y binarios. Se hace su uso

ya casi imprescindible al programar.

La razón del uso de los números binarios es sencilla. Es lo que entiende

el ordenador, ya que interpreta diferencias de voltaje como activado ( 1 )

o desactivado ( 0 ), aunque no detallar‚ ‚sto. Cada byte de información est

compuesto por ocho dígitos binarios, y a cada cifra se le llama bit. El

número utilizado en el ejemplo, el 10110111, sería un byte, y cada una de

sus ocho cifras, un bit.

Y a partir de ahora, cuando escriba un número binario, lo har‚ con la

notación usual, con una "b" al final del número ( ej: 10010101b )

Ahora me paso al hexadecimal, muy utilizado en ensamblador. Se trata de

un sistema de numeración en base diecis‚is. Por tanto, hay diecis‚is

símbolos para cada cifra, y en vez de inventarse para ello nuevos símbolos,

se decidió adoptar las primeras letras del abecedario. Por lo tanto,

tendremos ahora:

Hex   Dec

1 --> 1

2 --> 2

3 --> 3

4 --> 4

5 --> 5

6 --> 6

7 --> 7

8 --> 8

9 --> 9

A --> 10

B --> 11

C --> 12

D --> 13

E --> 14

F --> 15

10 --> 16

11 --> 17

Etc,...

Como vemos, ‚ste sistema nos planteas bastantes problemas para la

conversión. Repito lo dicho, una calculadora científica nos ser  casi

imprescindible para ‚sto.

¨ Por qu‚ utilizar ‚ste sistema ? Bien sencillo. Volvamos al byte, y

traduzcamos su valor m s alto, "11111111". Resulta ser 256. Ahora pasemos

‚sta cifra al sistema hexadecimal, y nos resultar  "FF". Obtenemos un

número m s comprensible que el binario ( difícil de recordar ), y ante todo

mucho m s compacto, en el que dos cifras nos representar n cada byte.

Podremos adem s traducir f cilmente el binario a hexadecimal con ‚sta

tabla; cada cuatro cifras binarias pueden traducirse al hexadecimal:

ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»

º     Binario       º    Hexadecimal   º

ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÎÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ

0000         º

0001         º         1

0010         º         2

0011         º         3

0100         º         4

0101         º         5

0110         º         6

0111         º         7

1000         º         8

1001         º         9

1010         º         A

1011         º         B

1100         º         C

1101         º         D

1110         º         E

1111         º         F

Por ejemplo, el número binario:

1111001110101110

En hexadecimal sería:

1111 0011 1010 1110

F    3    A    E

Para referirnos a un número hexadecimal sin especificarlo, usaremos la

notación que se suele usar al programar, con un 0 al principio ( necesario

cuando hay letras ) y una h al final, por ejemplo, el número anterior sería

0F3AEh
[editar]

7 opiniones

Opinión.

Obsoleto. Poco práctico. Inservible. Para un museo puede estar bien. Jajaja no sería obsoleto si fueras a programar un sistema operativo , es un lenguaje muy poderoso , en el que está hecho parte de windows , y de linux

saludos.
Felicitaciones.

Excelente explicacion gracias.
Bueno.

El curo esta bueno pero necesito tener mas informacion para crear programas.
Mvp.

Excelente.
Bueno.

Excelente trabajo. Siga adelante.
1 2 | siguiente >

Cursos gratis relacionados con 'Curso de Asembler'

Completo curso de lenguaje ensamblador.

Autor y licencia de 'Curso de Asembler'


Curso gratis de Pablo Barrón Ballesteros ( Wintermute ). Extraido de: CopyLeft
Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.