Iniciado por NaDran
Tranquilo/a Kurisutaru en mi carrera se ve asm hasta en la sopa jajaja, se que no soy de confianza porque acabo de llegar, pero, ya se verá, pero sí entiendo lo que dices.
Aquí una muestra de como sería la primera clase de sistemas de numeración,
luego respondería dudas o cualquier pregunta, mencionar también que trabajaremos con el lenguaje ensamblador MIPS, ya veréis porque, en realidad es porque está perfectamente preparado para aprender bien, y en asm cuando conoces un tipo de asm los basta con mirarte los otros y ya los controlas.
Esto se debe a que es de bajo nivel, y en bajo nivel a nivel de algoritmo todo
funciona igual, ya que todos los ordenadores tienen arquitecturas básicas muy parecidas.
1-Sistemas de numeración
DECIMAL
Primero nos fijaremos en el sistema decimal que usamos
siempre, es decir en base 10, esto es.
130
1*10^2 + 3*10^1 + 0*10^0 <==== OJO(siempre se empieza a elevar desde la derecha y empezando por 0).
100+30 = 130
Este es muy sencillo, es el que usamos siempre en matemáticas
o en cualquier actividad en la que intervengan números.
BINARIO
Este junto con el hexadecimal se usa mucho en informática.
Primero tenemos que aprender que es un bit, un bit es sencillamente la unidad más pequeña,
y puede tomar un valor
1=a , 0=b
es decir como ejemplo 1=si,0=no /1=blanco,0=negro
De algo tan insignificante se conforma practicamente toda la
arquitectura del ordenador.
---------------------
1 byte = 8 bits
4 bytes = 32 bits
---------------------
La segunda resulta evidente una vez enunciada la primera, pero creedme os hará falta, ya que en el
lenguaje ensamblador MIPS todas las sentencias estan compuestas por PALABRAS que se componen de 32 bits
es decir 4 bytes, pero no me enrollo, eso se verá más adelante con la práctica.
Me centro en el sistema de numeración binario:
Todo número binario se puede expresar con 1 y 0, esto significa
que es base 2, el decimal es con 10 (0,1,2,3,4,5,6,7,8,9)
Lo mejor es un ejemplo
decimal binario
2 10
Esto es así porque 10 = 1*2^1 + 0*2^0 = 2 (FIJAOS QUE AHORA ES EN BASE 2)
Otros ejemplos
3 ===> 11 ====>1*2^1 + 1*2^0 = 3
10 ==> 1010 ===> 1*2^3 + 0*2^2 + 1*2^1 + 0*2^0 = 10
Y para pasar un número de decimal a binario se divide entre 2 sucesivamente.
3|2
1 1 Y los coges del último al primero es decir al revés.
Con otro ejemplo se ve mejor.
10|2
0 5|2
1 2|2
0 1 <=== de aquí hacia arriba 1010
HEXADECIMAL
Bueno esto es casi lo mismo, pero en base 16, todos los números
en hexadecimal se pueden expresar con:
hex decimal
0 0
1 1
2 2
3 .
4 .
5
6
7
8
9 .
A 10
B 11
C 12
D 13
E 14
F 15
#Los puntos significa que son iguales cambia a partir
del 10 que es A....
#Para pasar de decimal a hex se divide entre 16
ej:
18|16
2 1 18(decimal) = 12 ( hexa)
#Para pasar un número en hexadecimal a decimal:
3C(hexa) = 3*16^1 + C*16^0 = 3*16+12 = 60
Esta es la parte más rollo, porque aún no se programa, pero es
esencial, os recomiendo practicar con la calculadora de windows
en modo programador y os ponéis cualquier número y lo pasáis a hex o bin o de bin/hex a decimal.
Saludos, y cualquier pregunta estaré encantado de resolverla.
Siempre es interesante repasar esto. Pero ¡animate a innovar!. Has que sea divertido ¡Usa colores, analogías, etc! Aprender de manera divertida siempre es bueno y ese es el foro indicado :D
Aquí tengo ejemplos EXTREMOS!!! (No tienes que llegar a tal punto de locura)