elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  como divido 3 divido dos y me de 1.5?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: como divido 3 divido dos y me de 1.5?  (Leído 4,315 veces)
AXA

Desconectado Desconectado

Mensajes: 18



Ver Perfil WWW
como divido 3 divido dos y me de 1.5?
« en: 3 Noviembre 2021, 05:56 am »

puede parecer muy basico pero no consigo un jemplo ni que funcion para dividir con fracciones.
Solo encuentro diviciones enteras. Y una pregunta mas que voy a necesitar. Cual seria la funcion de redondeo?.


En línea

Danielㅤ


Desconectado Desconectado

Mensajes: 1.825


🔵🔵🔵🔵🔵🔵🔵


Ver Perfil
Re: como divido 3 divido dos y me de 1.5?
« Respuesta #1 en: 3 Noviembre 2021, 06:04 am »

Hola, la división está bien porque 3 dividido en 2 es 1.5 que sería un entero y medio, no entiendo que es lo que no consigues hacer.

Por otro lado la función para redondear números es round():

https://www.padowan.dk/doc/spanish/Rounding.html


Saludos


En línea

K-YreX
Moderador
***
Desconectado Desconectado

Mensajes: 1.008



Ver Perfil
Re: como divido 3 divido dos y me de 1.5?
« Respuesta #2 en: 3 Noviembre 2021, 06:44 am »

Al realizar una operación entre 2 datos, el tipo del resultado es el mismo que el tipo de datos más grande de entre los dos operandos. Por ejemplo:
Operar 2 ints -> Resultado: int.
Operar int y float -> Resultado: float.
Operar int y short -> Resultado: int.
... Y así con cualquier tipo.

Si realizas una operación entre dos enteros, el resultado será un entero. Entonces:
Código
  1. int a = 3;
  2. int b = 2;
  3. printf("Resultado %d/%d = %d", a, b, a/b); // Resultado 3/2 = 1

Para obtener el resultado con decimales debes hacer una conversión de cualquiera de los datos a algún tipo decimal (float/double).
Código
  1. int a = 3;
  2. int b = 2;
  3. printf("Resultado %d/%d = %.1f", a, b, (float)a/b); // Resultado 3/2 = 1.5

PD: Para mostrar un número decimal hay que utilizar "%f". El ".1" indica que muestre el número con un solo dígito decimal.
En línea

Código
  1. cout << "Todos tenemos un defecto, un error en nuestro código" << endl;
.xAk.


Desconectado Desconectado

Mensajes: 397


F0r3v3R NeWbI3


Ver Perfil WWW
Re: como divido 3 divido dos y me de 1.5?
« Respuesta #3 en: 20 Noviembre 2021, 01:48 am »

ya verás con lós numeros  "long long" hazlo siempre en coma flotante convierte lo que no sean y muestra el resultado.



no enfrentes a un entero con un flotante, antes conviértelo (float)

redondear no te hace falta, pasa sólo al pasarlo a entero (int). En esas operaciones han de entrar con los participantes flotantes. (float)x dividido por (float)y es igual a (int)z
« Última modificación: 20 Noviembre 2021, 07:59 am por Eternal Idol » En línea


K-YreX
Moderador
***
Desconectado Desconectado

Mensajes: 1.008



Ver Perfil
Re: como divido 3 divido dos y me de 1.5?
« Respuesta #4 en: 20 Noviembre 2021, 16:57 pm »

ya verás con lós numeros  "long long" hazlo siempre en coma flotante convierte lo que no sean y muestra el resultado.



no enfrentes a un entero con un flotante, antes conviértelo (float)

redondear no te hace falta, pasa sólo al pasarlo a entero (int). En esas operaciones han de entrar con los participantes flotantes. (float)x dividido por (float)y es igual a (int)z


Imagino que el tema principal de este hilo está cerrado ya que el usuario que lo empezó no ha vuelto a contestar.
Sin embargo, respecto a este comentario hay cosas no muy claras:
no enfrentes a un entero con un flotante, antes conviértelo (float)
No es necesario, operar un int con un float ya da como resultado un float. Lo importante es guardarlo en una variable de tipo float y no int.

redondear no te hace falta, pasa sólo al pasarlo a entero (int)
Cuando se convierte un float en int no se redondea, se trunca.
En línea

Código
  1. cout << "Todos tenemos un defecto, un error en nuestro código" << endl;
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Como divido un disco en varios cd´s
Software
LoganX 5 2,318 Último mensaje 23 Agosto 2004, 08:50 am
por Luis_Kano
problemas con la memoria del pc cuando divido con virtualdub
Multimedia
protzcl 4 2,148 Último mensaje 10 Noviembre 2004, 07:22 am
por Songoku
COMO DIVIDO UN ARCHIVO AVI
Multimedia
julianarngo 1 1,442 Último mensaje 31 Marzo 2005, 12:02 pm
por Songoku
[MOD] ¿Cómo hago esto? osea como creo un video como este.
Multimedia
MicroAttackeR 2 4,288 Último mensaje 27 Octubre 2008, 21:26 pm
por MicroAttackeR
Como divido un codigo en 3 partes (.cpp .cpp .h) SOLUCIONADO
Programación C/C++
necro1991 9 4,634 Último mensaje 2 Octubre 2010, 00:22 am
por Horricreu
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines