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

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  duda al igualar un flotante a "1/2" regresa solo la parte entera porque ?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: duda al igualar un flotante a "1/2" regresa solo la parte entera porque ?  (Leído 1,543 veces)
ATARI2341

Desconectado Desconectado

Mensajes: 1


Ver Perfil
duda al igualar un flotante a "1/2" regresa solo la parte entera porque ?
« en: 17 Diciembre 2017, 02:20 am »

me di cuenta que los float al igualarlos a una división directa , nos regresa solamente el valor entero de la misma y me quede :huh: ¿porque?


En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: duda al igualar un flotante a "1/2" regresa solo la parte entera porque ?
« Respuesta #1 en: 17 Diciembre 2017, 02:41 am »

depende de tu codigo, si haces int/int el resultado será un int, los resutlados de los operadores serán del tipo de los operandos, para evitar esto se usa promocion de operandos, es decir, se usa un tipo más complejo tal que el resultado se "ascienda" al tipo más complejo, es decir float/int = float o int/float = float

para hacer la promoción hay 2 vias: 1 declarar una variable como float inicialmente, 2 casting de tipos

a nivel práctico

Código
  1. int a = 3;
  2. int b = 2;
  3. float c;
  4.  
  5. c = a/b; //c = 1
  6.  
  7. //promoción por declaración
  8. float d = a;
  9. c = d/b;// c = 1.333333
  10.  
  11. //promoción por casteo de tipos
  12.  
  13. c = float(a)/b;// c = 1.333333
  14. //o
  15. c = a/float(b);// c = 1.333333
  16.  
  17. //igual aplica para constantes
  18.  
  19. c = 3/2; // c = 1
  20. c = 3.0/2; // c=1.333333
  21. c = 3/2.0; // c=1.333333
  22. c = 3.0/2.0; // c=1.333333
  23.  



En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines