Java2 Fundamentos De Programacion
krauden26 de Noviembre de 2012
395 Palabras (2 Páginas)475 Visitas
Multiplicación Hexadecimal
Debes utilizar una tabla de multiplicación hexadecimal, en tu caso:
(7DE4)X(3ª)=1C85A8
El principio es exactamente el mismo al de la multiplicación decimal.
Ax4=28 (Tomo 8 y me llevo 2)
AxE=8C+2=8A (tomo el A y llevo 8)
AxD=82+8=8A (tomo el A y llevo 8)
Ax7=46+8=4E
Resultado parcial 1: 4EAE8
3x4=C
3xE=2A (tomo el A y llevo 2)
3xD=27+2=29 (tomo 9 y llevo 2)
3x7=15+2=17
Resultado parcial 2: 179AC
Ahora sumo como en la multiplicación:
……..111
……...4EAE8
………179AC
_____________
………1C85A8
División Octal
Yo lo convertiría a binario y luego a decimal, cuando tengo dos decimales divido y el decimal que me da como resultado lo pasaría a binario y luego a octal (es lo único que se me puede ocurrir).
Una buena opción sería pasarlo a decimal, or ejemplo si tienes 61 (En Octal), para pasarlo a decimal tendrías que hacer 6*8(elevado a la 1) + 1*8 (elevado a la 0). Quedaría entonces 6*8 + 1*8= 48 + 1 = 49, luego divides por 7, en este caso quedaría 7 y vuelves a pasar a octal, que bien en este caso 7 es 7 en octal y decimal.
La otra forma es dividiendo al igual que dividas con el sistema decimal, pero para poder hacer las restas, tendrías que usar el complemento a la base, algo que es un poco más difícil de explicar.
División Hexadecimal
La base hexadecimal esta formada por 16 elementos:
0,1,2,3,4,5,6,7,A,B,C,D,E,F
Donde:
A=10 B=11 C=12 D=13 E=14 F=15
El sistema hexadecimal es posicional como el nuestro en base 10.
Si tienes una división puedes intentar pasar los números en base 10 y dividir, 96 A = A*16(elevado a la 0) + 6*16 (elevado a la 1) +9*16(elevado a la 2) = A+96+2304=10+96+2304=2410
Como F=15
Solo tienes que efectuar la división. Ahora si quieres hacerla en base hexadecimal, solo tienes que hacerla en base 10 pero acordándote de que cuando el número pasa de 16, tienes que contar las llevadas.
En base 16 dividir 96A/F
…………………………..96 ..A0
…restando.………….0……
Bajamos A……………0A…>>>Date cuenta de que A=10 < 15=F, luego como una división normal, cuando el dividendo < divisor el cociente es 0
El 1º Número A lo obtienes como sigue:
9 < F=15 luego en una división normal tenemos que tomar el siguiente número.
Ahora tenemos 96 entre F, pasa mentalmente el 96 a base 10
96=9*16(elevado a la 1 + 6*16(elevado a la 0) =150 en base 10, luego 150/F(F=15) es 10(=A) >>; FxA=96.
Luego el resultado de tu división es el número en base hexadecimal A0 y de resto A
Comprueba A0 = 160 en base 10, luego A0xF + A=160x15+10=2410=96 A
Binario Hexadecimal Octal
00000 0 0
00001 1 1
00010 2 2
00101 3 3
00100 4 4
00101 5 5
00111 6 6
01000 7 7
01001 8 10
01010 9 11
01010 A 12
01011 B 13
01100 C 14
01101 D 15
01110 E 16
01111 F 17
10000 10 20
10001 11 21
10010 12 22
10011 13 23
10100 14 24
10101 15 25
10110 16 26
10111 17 27
11110 1E 36
11111 1F 37
100000 20 40
100001 21 41
...