Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





División Entera En C++

Iniciado por Douch, 09 de Mayo de 2004, 07:41:51 PM

« anterior - próximo »

Douch

 Wenas.

¿Cómo se realiza la división entra en C++?. He estado mirando en el MSDN pero no consigo encontrar nada (ni función, ni operador).

Douch.

PD: Cuando hablo de división entera me refiero a cuantas veces cabe un número dentro de otro, no la división entre enteros (mejor prevenir confusiones). Se que en Visual Basic se realiza mediante el operador " \ ", pero en C++ ...   [ P.ej:   (8 \ 4) = 2 ]


CoLSoN2

 Convierte a int el resultado de la división y ya está: (int)(numero/numero)  
Manuel F. Lara
Descargar juegos indie  - blog sobre juegos indie y casual
El Desarrollo Personal.com  - blog sobre productividad, motivación y espíritu emprendedor

Douch

 Hum... vale. <_<

Gracias CoLSoN2, me has abierto los ojos. ¿En qué coj**** estaría pensando?.  (nooo)

Bien, bien... niños, cuando lleveis entre 3 y 4 horas delante del ordenador realizando un práctica y esteis hasta las narices, recordad tomar un descanso de vez en cuando. (Capítulo 60 de barrio sésamo).

PD: ¿Se pueden borrar post?? :( ... que vergüenza.... :(  

shephiroth

 Buenas. Aunque ya te han respondido, y para c/c++ la solucion dada es válida, haré unos pequeños matices.

En algunos lenguajes al hacer el casting redondea el numero....es decir, si la division da 5.9 que numero da el casteo, 5 o 6?? Para aquellos que vean q es una tontada lo q estoy diciendo, pongamos el ejemplo en negativos, si la division da -5.9 cuanto da el casteo??? en los positivos dara 5, mientras q en los negativos dara -6........esto se debe pq al hacer casting castea hacia abajo, no hacia 0. Esto puede que no interese. Por esto la mejor forma es quitar el casteo, y hacer la division entera....como se consigue?? usando la siguiente formula:
Division de x por y: (x-x%y)/y
el % haya el resto, al quitarselo el resto será 0 y la division será entera. Veamos que pasa en los dos casos anteriores, si fuera 5.9 de esta forma eliminariamos los 0.9 y daría como resultado 5, en los numeros negativos....ánda!?!?!?! tambien da -5, puesto que le has quitado -0.9

Como ya dije mas arriba esto depende del lenguaje. Aunque si te interesa creo recordar que incluyendo la libreria math.h hay unas cuantas funciones que te permiten elegir el redondeo elegido (hacia arriba, hacia abajo, o hacia 0)

Douch

 O_O Juer shephiroth, muy bien explicado tio..., tomaré nota de la formulita para posteriores necesidades.

Gracias.


seryu

 En C++ la division entera se realiza asi:

4/8

el resto de la entera:

4%8

Y la real seria:

4./8.










Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.