Autor Tema: realizar una division con el pic  (Leído 2163 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado ruuuuben

  • PIC10
  • *
  • Mensajes: 2
realizar una division con el pic
« en: 29 de Enero de 2007, 05:44:31 »
hola quisiera saber como poder hacer una operacion tan basica como es la division en el pic con ensamblador mplab.

la division se que es restar muxas al dividendo el divisor asta qu llegue a cero.
por ejeplo 40/10 es 40-10=30 30-10=20 20-10=10 10-10=0
y el resultado son el nº de restas k hice.

pero¿no hay otra forma mas sencilla de hacerlo? porq con este prodecimiento como hago para cuando tenga que restar por ejemplo 49/10 que sale decimal

¿ALGUIEN PODRIA AYUDARME? 


GRACIAS

Desconectado Modulay

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 2651
Re: realizar una division con el pic
« Respuesta #1 en: 29 de Enero de 2007, 06:15:42 »
Si no me equivoco puedes seguir repitiendo el mismo proceso para obtener los decimales.
Usemos el ejemplo de 43/10

Para la parte entera:

43 mayor o igual que 10 => 43 - 10 = 33
33 mayor o igual que 10 => 43 - 10 = 23
23 mayor o igual que 10 => 43 - 10 = 13
13 mayor o igual que 10 => 43 - 10 = 3

9 no es mayor o igual que 10.Hemos hecho 4 restas: parte entera = 4

Ahora lo que te queda de resto ( 3 ) lo multiplicas por 10 para obtener la primera cifra decimal siguiendo el mismo proceso:

3*10 = 30

30 mayor o igual que 10 => 30 - 10 = 20
20 mayor o igual que 10 => 20 - 10 = 20
10 mayor o igual que 10 => 10 - 10 = 0

Hemos hecho 3 restas.El primer decimal es 3.No hay más decimales porque hemos llegado a 0 tras la última resta.

Resultado : 43 / 10 = 4.3



Probemos 15 / 4 = 3.75

Parte entera:

15 - 4 = 11
11 - 4 = 7
7 - 4 = 3

Parte entera = 3
Resto = 3

Vamos con el primer decimal:

3*10 = 30

30 - 4 = 26
26 - 4 = 22
...
...
...

Primer decimal = 7
Resto = 2

Segundo decimal:

2*10 = 20

20 - 4 = 16
16 - 4 = 12
12 - 4 = 8
8 - 4 = 4
4 - 4 = 0

Segundo decimal = 5
Resto = 0

Resultado 3.75

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: realizar una division con el pic
« Respuesta #2 en: 29 de Enero de 2007, 14:43:29 »
pero¿no hay otra forma mas sencilla de hacerlo? porq con este prodecimiento como hago para cuando tenga que restar por ejemplo 49/10 que sale decimal

¿ALGUIEN PODRIA AYUDARME? 

Otra alternativa a la expuesta por modulay es la de que leas la application note de microchip que versa sobre el tema.

AN526: PIC16C5x/PIC16Cxx Utility Math Routines
- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)


 

anything